{"id":36373,"date":"2024-11-01T09:47:57","date_gmt":"2024-11-01T09:47:57","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=36373"},"modified":"2024-11-01T11:00:11","modified_gmt":"2024-11-01T11:00:11","slug":"application-areas-of-gan-deep-learning-using-pytorch-generative-modeling","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/36373\/","title":{"rendered":"Application Areas of GAN Deep Learning Using PyTorch, Generative Modeling"},"content":{"rendered":"<p><body><\/p>\n<p>\n        Generative Adversarial Networks (GANs) have received significant attention in the field of deep learning since they were first introduced by Ian Goodfellow in 2014. GANs learn the data generation process through competition between two neural networks, namely the Generator and the Discriminator. In this article, we will explain the basic concepts and operating mechanisms of GANs, along with an example of implementing a GAN using PyTorch and various application areas of GANs.\n    <\/p>\n<h2>1. Basic Concepts of GAN<\/h2>\n<p>\n        GAN consists of two neural networks. The generator tries to create new data, while the discriminator attempts to determine whether the input data is real or fake data created by the generator. These two networks compete against each other, and through this competition, the generator produces more realistic data.\n    <\/p>\n<p>\n        The learning process of GAN proceeds as follows:\n    <\/p>\n<ol>\n<li>The generator receives random noise as input and generates fake data.<\/li>\n<li>The discriminator attempts to distinguish between real data and fake data generated by the generator.<\/li>\n<li>Based on the discriminator&#8217;s judgment results, the generator improves its output, while the discriminator continues to learn with the goal of more accurately distinguishing.<\/li>\n<li>This process is repeated, and both networks improve each other&#8217;s performance.<\/li>\n<\/ol>\n<h2>2. Structure of GAN<\/h2>\n<p>\n        The structure of GAN consists of the following components:\n    <\/p>\n<ul>\n<li><strong>Generator<\/strong>: Receives random noise (z) as input and generates data samples (x&#8217;).<\/li>\n<li><strong>Discriminator<\/strong>: Receives real samples (x) and generated samples (x&#8217;) as input and determines whether they are real or generated.<\/li>\n<\/ul>\n<p>\n        Ultimately, the goal of GAN is to make the data generated by the generator indistinguishable from real data.\n    <\/p>\n<h2>3. Implementing GAN using PyTorch<\/h2>\n<p>\n        PyTorch is a very useful framework for implementing deep learning models. Below is an example of implementing a simple GAN using PyTorch. In this example, we will build a GAN model that generates handwritten digits using the MNIST dataset.\n    <\/p>\n<h3>3.1 Setting Up the Environment<\/h3>\n<p>\n        First, install the required libraries. Use the code below to install PyTorch and torchvision.\n    <\/p>\n<pre>\n        <code>\npip install torch torchvision\n        <\/code>\n    <\/pre>\n<h3>3.2 Loading the Dataset<\/h3>\n<p>\n        Download and load the MNIST dataset. Use the following code to prepare the dataset.\n    <\/p>\n<pre>\n        <code>\nimport torch\nfrom torchvision import datasets, transforms\n\n# Dataset transformations\ntransform = transforms.Compose([\n    transforms.ToTensor(),\n    transforms.Normalize((0.5,), (0.5,))\n])\n\n# Download MNIST dataset\nmnist_dataset = datasets.MNIST(root='.\/data', train=True, download=True, transform=transform)\n\n# Set up data loader\ndataloader = torch.utils.data.DataLoader(mnist_dataset, batch_size=64, shuffle=True)\n        <\/code>\n    <\/pre>\n<h3>3.3 Defining the Generator Model<\/h3>\n<p>\n        The generator model is responsible for generating images from random latent vectors. Below is the code for defining a simple generator model.\n    <\/p>\n<pre>\n        <code>\nimport torch.nn as nn\n\nclass Generator(nn.Module):\n    def __init__(self):\n        super(Generator, self).__init__()\n        self.model = nn.Sequential(\n            nn.Linear(100, 256),\n            nn.ReLU(),\n            nn.Linear(256, 512),\n            nn.ReLU(),\n            nn.Linear(512, 1024),\n            nn.ReLU(),\n            nn.Linear(1024, 784),  # Outputs 28x28 image\n            nn.Tanh()  # Adjusts input range to [-1, 1]\n        )\n\n    def forward(self, z):\n        return self.model(z)\n        <\/code>\n    <\/pre>\n<h3>3.4 Defining the Discriminator Model<\/h3>\n<p>\n        The discriminator model evaluates the input data to determine whether it is real or fake. The following code defines the discriminator model.\n    <\/p>\n<pre>\n        <code>\nclass Discriminator(nn.Module):\n    def __init__(self):\n        super(Discriminator, self).__init__()\n        self.model = nn.Sequential(\n            nn.Linear(784, 512),  # 784 dimensions from 28x28 image\n            nn.LeakyReLU(0.2),\n            nn.Linear(512, 256),\n            nn.LeakyReLU(0.2),\n            nn.Linear(256, 1),  # Final output set to 1 (real\/fake judgment)\n            nn.Sigmoid()  # Adjusts output range to [0, 1]\n        )\n\n    def forward(self, x):\n        return self.model(x)\n        <\/code>\n    <\/pre>\n<h3>3.5 Setting Loss Functions and Optimizers<\/h3>\n<p>\n        We use Binary Cross Entropy as the loss function for GAN, and we define optimizers for each network. The following code is used.\n    <\/p>\n<pre>\n        <code>\nimport torch.optim as optim\n\n# Create model instances\ngenerator = Generator()\ndiscriminator = Discriminator()\n\n# Set loss function and optimizers\ncriterion = nn.BCELoss()\noptimizer_G = optim.Adam(generator.parameters(), lr=0.0002, betas=(0.5, 0.999))\noptimizer_D = optim.Adam(discriminator.parameters(), lr=0.0002, betas=(0.5, 0.999))\n        <\/code>\n    <\/pre>\n<h3>3.6 GAN Training Loop<\/h3>\n<p>\n        We write a loop to train the model. In each iteration, the generator creates fake samples, and the discriminator evaluates them to calculate the loss.\n    <\/p>\n<pre>\n        <code>\nnum_epochs = 200\n\nfor epoch in range(num_epochs):\n    for i, (images, _) in enumerate(dataloader):\n        # Set batch size\n        batch_size = images.size(0)\n        \n        # Create labels\n        real_labels = torch.ones(batch_size, 1)\n        fake_labels = torch.zeros(batch_size, 1)\n        \n        # Train the discriminator\n        optimizer_D.zero_grad()\n        \n        # Loss for real images\n        outputs = discriminator(images.view(batch_size, -1))\n        d_loss_real = criterion(outputs, real_labels)\n        \n        # Generate fake images\n        z = torch.randn(batch_size, 100)\n        fake_images = generator(z)\n        \n        # Loss for fake images\n        outputs = discriminator(fake_images.detach())\n        d_loss_fake = criterion(outputs, fake_labels)\n        \n        # Total discriminator loss\n        d_loss = d_loss_real + d_loss_fake\n        d_loss.backward()\n        optimizer_D.step()\n        \n        # Train the generator\n        optimizer_G.zero_grad()\n        outputs = discriminator(fake_images)\n        g_loss = criterion(outputs, real_labels)\n        g_loss.backward()\n        optimizer_G.step()\n        \n    # Print loss after epochs\n    if (epoch + 1) % 10 == 0:\n        print(f'Epoch [{epoch + 1}\/{num_epochs}], d_loss: {d_loss.item():.4f}, g_loss: {g_loss.item():.4f}')\n        <\/code>\n    <\/pre>\n<h3>3.7 Visualizing the Results<\/h3>\n<p>\n        To visualize the generated images, we can use Matplotlib. The following code visualizes the images.\n    <\/p>\n<pre>\n        <code>\nimport matplotlib.pyplot as plt\n\n# Visualize generated images\ndef visualize_images(generator, num_images=64):\n    z = torch.randn(num_images, 100)\n    fake_images = generator(z).view(-1, 1, 28, 28).detach()\n    \n    grid = torchvision.utils.make_grid(fake_images, nrow=8, normalize=True)\n    plt.imshow(grid.permute(1, 2, 0).numpy())\n    plt.axis('off')\n    plt.show()\n\n# Visualize example images\nvisualize_images(generator, 64)\n        <\/code>\n    <\/pre>\n<h2>4. Application Areas of GAN<\/h2>\n<p>\n        GANs are demonstrating their potential in various fields. The following are the main application areas of GAN.\n    <\/p>\n<h3>4.1 Image Generation<\/h3>\n<p>\n        GANs are utilized for generating high-quality images. For example, DCGAN (Deep Convolutional GAN) is widely used to create images that look real.\n    <\/p>\n<h3>4.2 Style Transfer<\/h3>\n<p>\n        GANs are also used to transform image styles. Models like CycleGAN can convert images of a specific style to another style. For example, it is possible to change a summer landscape to a winter landscape.\n    <\/p>\n<h3>4.3 Image Inpainting and Super Resolution<\/h3>\n<p>\n        GANs can be used to inpaint defects in images or to convert low-resolution images to high-resolution images. SRGAN (Super Resolution GAN) converts low-resolution images to high-resolution images.\n    <\/p>\n<h3>4.4 Video Generation<\/h3>\n<p>\n        GANs are also used for video generation, in addition to images. Models like MovGAN generate continuous frames to create realistic video sequences.\n    <\/p>\n<h3>4.5 Natural Language Processing<\/h3>\n<p>\n        GANs are used in natural language processing (NLP), including text generation. Models like TextGAN can generate text based on given contexts.\n    <\/p>\n<h3>4.6 Data Augmentation<\/h3>\n<p>\n        GANs can be used to expand datasets. Especially when there is insufficient data for a specific class, generated images can be used to augment the data.\n    <\/p>\n<h3>4.7 Medical Imaging<\/h3>\n<p>\n        GANs are also utilized in the medical field. They can generate and preprocess medical images to be used as diagnostic aids. For example, they can be used to generate CT scans or MRI images.\n    <\/p>\n<h2>Conclusion<\/h2>\n<p>\n        GANs are revolutionary deep learning models that have made significant advancements in the field of generative modeling. Through the implementation using PyTorch, we gained an understanding of the operating principles and structure of GANs, as well as explored various application areas. The potential of GANs is limitless, and they are expected to continue evolving in the future. We hope that these technologies will have a positive impact on the world, and we encourage you to take on projects utilizing GANs.\n    <\/p>\n<hr\/>\n<footer>\n<p>\u00a9 2023 Blog Title. All rights reserved.<\/p>\n<\/footer>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Generative Adversarial Networks (GANs) have received significant attention in the field of deep learning since they were first introduced by Ian Goodfellow in 2014. GANs learn the data generation process through competition between two neural networks, namely the Generator and the Discriminator. In this article, we will explain the basic concepts and operating mechanisms of &hellip; <a href=\"https:\/\/atmokpo.com\/w\/36373\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;Application Areas of GAN Deep Learning Using PyTorch, Generative Modeling&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[113],"tags":[],"class_list":["post-36373","post","type-post","status-publish","format-standard","hentry","category-gan-deep-learning-course"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Application Areas of GAN Deep Learning Using PyTorch, Generative Modeling - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/atmokpo.com\/w\/36373\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Application Areas of GAN Deep Learning Using PyTorch, Generative Modeling - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"Generative Adversarial Networks (GANs) have received significant attention in the field of deep learning since they were first introduced by Ian Goodfellow in 2014. GANs learn the data generation process through competition between two neural networks, namely the Generator and the Discriminator. In this article, we will explain the basic concepts and operating mechanisms of &hellip; \ub354 \ubcf4\uae30 &quot;Application Areas of GAN Deep Learning Using PyTorch, Generative Modeling&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/36373\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:47:57+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T11:00:11+00:00\" \/>\n<meta name=\"author\" content=\"root\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@bebubo4\" \/>\n<meta name=\"twitter:site\" content=\"@bebubo4\" \/>\n<meta name=\"twitter:label1\" content=\"\uae00\uc4f4\uc774\" \/>\n\t<meta name=\"twitter:data1\" content=\"root\" \/>\n\t<meta name=\"twitter:label2\" content=\"\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04\" \/>\n\t<meta name=\"twitter:data2\" content=\"6\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/atmokpo.com\/w\/36373\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/36373\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"Application Areas of GAN Deep Learning Using PyTorch, Generative Modeling\",\"datePublished\":\"2024-11-01T09:47:57+00:00\",\"dateModified\":\"2024-11-01T11:00:11+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/36373\/\"},\"wordCount\":782,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"GAN deep learning course\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/36373\/\",\"url\":\"https:\/\/atmokpo.com\/w\/36373\/\",\"name\":\"Application Areas of GAN Deep Learning Using PyTorch, Generative Modeling - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:47:57+00:00\",\"dateModified\":\"2024-11-01T11:00:11+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/36373\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/36373\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/36373\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Application Areas of GAN Deep Learning Using PyTorch, Generative Modeling\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/atmokpo.com\/w\/#website\",\"url\":\"https:\/\/atmokpo.com\/w\/\",\"name\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/atmokpo.com\/w\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\",\"name\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"url\":\"https:\/\/atmokpo.com\/w\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png\",\"contentUrl\":\"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png\",\"width\":400,\"height\":400,\"caption\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\"},\"image\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/bebubo4\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\",\"name\":\"root\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g\",\"caption\":\"root\"},\"sameAs\":[\"http:\/\/atmokpo.com\/w\"],\"url\":\"https:\/\/atmokpo.com\/w\/author\/root\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Application Areas of GAN Deep Learning Using PyTorch, Generative Modeling - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/atmokpo.com\/w\/36373\/","og_locale":"ko_KR","og_type":"article","og_title":"Application Areas of GAN Deep Learning Using PyTorch, Generative Modeling - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"Generative Adversarial Networks (GANs) have received significant attention in the field of deep learning since they were first introduced by Ian Goodfellow in 2014. GANs learn the data generation process through competition between two neural networks, namely the Generator and the Discriminator. In this article, we will explain the basic concepts and operating mechanisms of &hellip; \ub354 \ubcf4\uae30 \"Application Areas of GAN Deep Learning Using PyTorch, Generative Modeling\"","og_url":"https:\/\/atmokpo.com\/w\/36373\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:47:57+00:00","article_modified_time":"2024-11-01T11:00:11+00:00","author":"root","twitter_card":"summary_large_image","twitter_creator":"@bebubo4","twitter_site":"@bebubo4","twitter_misc":{"\uae00\uc4f4\uc774":"root","\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04":"6\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/atmokpo.com\/w\/36373\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/36373\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"Application Areas of GAN Deep Learning Using PyTorch, Generative Modeling","datePublished":"2024-11-01T09:47:57+00:00","dateModified":"2024-11-01T11:00:11+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/36373\/"},"wordCount":782,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["GAN deep learning course"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/36373\/","url":"https:\/\/atmokpo.com\/w\/36373\/","name":"Application Areas of GAN Deep Learning Using PyTorch, Generative Modeling - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:47:57+00:00","dateModified":"2024-11-01T11:00:11+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/36373\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/36373\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/36373\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"Application Areas of GAN Deep Learning Using PyTorch, Generative Modeling"}]},{"@type":"WebSite","@id":"https:\/\/atmokpo.com\/w\/#website","url":"https:\/\/atmokpo.com\/w\/","name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","description":"","publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/atmokpo.com\/w\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Organization","@id":"https:\/\/atmokpo.com\/w\/#organization","name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","url":"https:\/\/atmokpo.com\/w\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/","url":"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png","contentUrl":"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png","width":400,"height":400,"caption":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8"},"image":{"@id":"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/bebubo4"]},{"@type":"Person","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7","name":"root","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g","caption":"root"},"sameAs":["http:\/\/atmokpo.com\/w"],"url":"https:\/\/atmokpo.com\/w\/author\/root\/"}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/36373","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/comments?post=36373"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/36373\/revisions"}],"predecessor-version":[{"id":36374,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/36373\/revisions\/36374"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=36373"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=36373"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=36373"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}