{"id":36367,"date":"2024-11-01T09:47:52","date_gmt":"2024-11-01T09:47:52","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=36367"},"modified":"2024-11-01T11:00:12","modified_gmt":"2024-11-01T11:00:12","slug":"deep-learning-gan-using-pytorch-changed-art-exhibition","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/36367\/","title":{"rendered":"Deep Learning GAN using PyTorch, Changed Art Exhibition"},"content":{"rendered":"<p><body><\/p>\n<p>In recent years, the development of artificial intelligence (AI) and deep learning has had a significant impact on various fields. In particular, Generative Adversarial Networks (GANs) have brought revolutionary changes in the field of image generation. We have now entered an era where we can create entirely new artworks through GANs and showcase these works through exhibitions. In this article, we will take a detailed look at the process of implementing GANs using PyTorch and exhibiting the generated artworks.<\/p>\n<h2>Overview of GAN<\/h2>\n<p>GANs consist of two networks: a Generator and a Discriminator. The Generator takes random noise as input and attempts to generate images that look real, while the Discriminator determines whether the input image is real or generated. The two networks are in a competitive relationship, which leads to the generation of increasingly realistic images over time.<\/p>\n<h3>Structure of GAN<\/h3>\n<ul>\n<li><strong>Generator (G)<\/strong>: A network that takes a random noise vector as input and generates images. During the GAN training process, the Generator continuously learns to produce images that are difficult for the Discriminator to identify.<\/li>\n<li><strong>Discriminator (D)<\/strong>: A network that takes images as input and determines whether the image is part of the actual dataset or generated by the Generator. The Discriminator also evolves to make increasingly accurate judgments through learning.<\/li>\n<\/ul>\n<h2>Implementing GAN with PyTorch<\/h2>\n<p>Now, we will define the Generator and Discriminator to implement GANs using PyTorch. In this example, we will build a simple image generation model.<\/p>\n<h3>Installing Required Libraries<\/h3>\n<pre><code>!pip install torch torchvision matplotlib<\/code><\/pre>\n<h3>Preparing the Dataset<\/h3>\n<p>We will train our GAN using the MNIST dataset, which consists of handwritten digit images from 0 to 9. We will load the data using the code below.<\/p>\n<pre><code>\nimport torch\nfrom torchvision import datasets, transforms\n\n# Download and prepare MNIST dataset\ntransform = transforms.Compose([\n    transforms.ToTensor(),\n    transforms.Normalize((0.5,), (0.5,))\n])\n\ntrain_dataset = datasets.MNIST(root='.\/data', train=True, download=True, transform=transform)\ntrain_loader = torch.utils.data.DataLoader(dataset=train_dataset, batch_size=64, shuffle=True)\n    <\/code><\/pre>\n<h3>Building the Generator and Discriminator Models<\/h3>\n<p>We will now define the Generator and Discriminator models. We will use a simple fully connected neural network, where the Generator takes random noise vectors as input and generates images.<\/p>\n<pre><code>\nimport torch.nn as nn\n\n# Define Generator model\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),\n            nn.Tanh()  # MNIST is normalized to [-1, 1].\n        )\n\n    def forward(self, z):\n        return self.model(z).view(-1, 1, 28, 28)  # Resizing to 28x28 image\n\n# Define Discriminator model\nclass Discriminator(nn.Module):\n    def __init__(self):\n        super(Discriminator, self).__init__()\n        self.model = nn.Sequential(\n            nn.Linear(784, 512),\n            nn.LeakyReLU(0.2),\n            nn.Linear(512, 256),\n            nn.LeakyReLU(0.2),\n            nn.Linear(256, 1),\n            nn.Sigmoid()  # Outputs probability between 0 and 1\n        )\n\n    def forward(self, img):\n        return self.model(img.view(-1, 784))  # Resizing to 784 vector\n    <\/code><\/pre>\n<h3>Training the Model<\/h3>\n<p>To train the model, we will define the loss function and optimization technique. The Generator aims for minimal loss, while the Discriminator is trained with the assumption that a larger loss indicates incorrect judgments.<\/p>\n<pre><code>\nimport torch.optim as optim\n\n# Initialize models\ngenerator = Generator()\ndiscriminator = Discriminator()\n\n# Define loss function and optimization technique\ncriterion = nn.BCELoss()  # Binary Cross Entropy Loss\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\n# Training loop\nnum_epochs = 50\nfor epoch in range(num_epochs):\n    for i, (imgs, _) in enumerate(train_loader):\n        # Set real images and labels\n        real_imgs = imgs\n        real_labels = torch.ones(imgs.size(0), 1)  # Real image label: 1\n        fake_labels = torch.zeros(imgs.size(0), 1)  # Fake image label: 0\n\n        # Train Discriminator\n        optimizer_D.zero_grad()\n        outputs = discriminator(real_imgs)\n        d_loss_real = criterion(outputs, real_labels)\n        d_loss_real.backward()\n\n        z = torch.randn(imgs.size(0), 100)  # Sampling noise vector\n        fake_imgs = generator(z)\n        outputs = discriminator(fake_imgs.detach())\n        d_loss_fake = criterion(outputs, fake_labels)\n        d_loss_fake.backward()\n        optimizer_D.step()\n\n        # Train Generator\n        optimizer_G.zero_grad()\n        outputs = discriminator(fake_imgs)\n        g_loss = criterion(outputs, real_labels)  # The Generator aims to have fake images judged as real\n        g_loss.backward()\n        optimizer_G.step()\n\n    print(f'Epoch [{epoch+1}\/{num_epochs}], d_loss: {d_loss_real.item() + d_loss_fake.item():.4f}, g_loss: {g_loss.item():.4f}')\n    <\/code><\/pre>\n<h3>Visualizing the Results<\/h3>\n<p>After training the model, we will save and visualize the generated images.<\/p>\n<pre><code>\nimport matplotlib.pyplot as plt\n\n# Function to generate and visualize images\ndef show_generated_images(generator, num_images=25):\n    z = torch.randn(num_images, 100)\n    generated_images = generator(z).detach().numpy()\n    generated_images = (generated_images + 1) \/ 2  # Convert to [0, 1]\n\n    fig, axes = plt.subplots(5, 5, figsize=(10, 10))\n    for i, ax in enumerate(axes.flatten()):\n        ax.imshow(generated_images[i][0], cmap='gray')\n        ax.axis('off')\n    plt.tight_layout()\n    plt.show()\n\nshow_generated_images(generator)\n    <\/code><\/pre>\n<h2>Revised Art Exhibitions and the Use of GANs<\/h2>\n<p>Now, let&#8217;s look at how to exhibit artworks generated by GANs. The exhibitions provide visitors with an opportunity to experience the intersection of AI and art, going beyond mere appreciation of the artwork.<\/p>\n<h3>Themes and Structure of AI Art Exhibitions<\/h3>\n<p>AI-based art exhibitions can consist of the following elements:<\/p>\n<ul>\n<li><strong>Generated Works<\/strong>: Displaying various artworks generated through GANs. Each piece includes an explanation of how AI generated the image.<\/li>\n<li><strong>Workshops<\/strong>: Providing workshops where visitors can create their own AI artworks, offering direct experience with AI technology.<\/li>\n<li><strong>Discussion Sessions<\/strong>: Facilitating deeper understanding through discussions with experts about the relationship between AI and art.<\/li>\n<\/ul>\n<h3>Planning and Executing the Exhibition<\/h3>\n<p>When planning the exhibition, the following steps should be taken:<\/p>\n<ol>\n<li><strong>Setting Objectives<\/strong>: Clearly defining the goals and themes of the exhibition.<\/li>\n<li><strong>Selecting Venue<\/strong>: Choosing a location convenient for visitors to access.<\/li>\n<li><strong>Selecting Works<\/strong>: Choosing various works generated through GANs for exhibition.<\/li>\n<li><strong>Promotion Strategy<\/strong>: Promoting the exhibition through social media, posters, and websites.<\/li>\n<li><strong>Operation and Feedback<\/strong>: Collecting feedback from visitors during the exhibition for future reference.<\/li>\n<\/ol>\n<h2>Conclusion<\/h2>\n<p>The implementation of GANs using PyTorch and hosting a revised art exhibition is an exciting example of the intersection of AI and art. The advancement of GANs provides artists with new creative tools, while offering visitors a chance to experience art in entirely new ways. As AI advances, the boundaries of art are expanding, and we can expect even more innovations in future exhibitions.<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In recent years, the development of artificial intelligence (AI) and deep learning has had a significant impact on various fields. In particular, Generative Adversarial Networks (GANs) have brought revolutionary changes in the field of image generation. We have now entered an era where we can create entirely new artworks through GANs and showcase these works &hellip; <a href=\"https:\/\/atmokpo.com\/w\/36367\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;Deep Learning GAN using PyTorch, Changed Art Exhibition&#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-36367","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>Deep Learning GAN using PyTorch, Changed Art Exhibition - \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\/36367\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Deep Learning GAN using PyTorch, Changed Art Exhibition - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"In recent years, the development of artificial intelligence (AI) and deep learning has had a significant impact on various fields. In particular, Generative Adversarial Networks (GANs) have brought revolutionary changes in the field of image generation. We have now entered an era where we can create entirely new artworks through GANs and showcase these works &hellip; \ub354 \ubcf4\uae30 &quot;Deep Learning GAN using PyTorch, Changed Art Exhibition&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/36367\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:47:52+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T11:00:12+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=\"5\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/atmokpo.com\/w\/36367\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/36367\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"Deep Learning GAN using PyTorch, Changed Art Exhibition\",\"datePublished\":\"2024-11-01T09:47:52+00:00\",\"dateModified\":\"2024-11-01T11:00:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/36367\/\"},\"wordCount\":613,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"GAN deep learning course\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/36367\/\",\"url\":\"https:\/\/atmokpo.com\/w\/36367\/\",\"name\":\"Deep Learning GAN using PyTorch, Changed Art Exhibition - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:47:52+00:00\",\"dateModified\":\"2024-11-01T11:00:12+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/36367\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/36367\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/36367\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Deep Learning GAN using PyTorch, Changed Art Exhibition\"}]},{\"@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":"Deep Learning GAN using PyTorch, Changed Art Exhibition - \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\/36367\/","og_locale":"ko_KR","og_type":"article","og_title":"Deep Learning GAN using PyTorch, Changed Art Exhibition - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"In recent years, the development of artificial intelligence (AI) and deep learning has had a significant impact on various fields. In particular, Generative Adversarial Networks (GANs) have brought revolutionary changes in the field of image generation. We have now entered an era where we can create entirely new artworks through GANs and showcase these works &hellip; \ub354 \ubcf4\uae30 \"Deep Learning GAN using PyTorch, Changed Art Exhibition\"","og_url":"https:\/\/atmokpo.com\/w\/36367\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:47:52+00:00","article_modified_time":"2024-11-01T11:00:12+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":"5\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/atmokpo.com\/w\/36367\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/36367\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"Deep Learning GAN using PyTorch, Changed Art Exhibition","datePublished":"2024-11-01T09:47:52+00:00","dateModified":"2024-11-01T11:00:12+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/36367\/"},"wordCount":613,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["GAN deep learning course"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/36367\/","url":"https:\/\/atmokpo.com\/w\/36367\/","name":"Deep Learning GAN using PyTorch, Changed Art Exhibition - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:47:52+00:00","dateModified":"2024-11-01T11:00:12+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/36367\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/36367\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/36367\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"Deep Learning GAN using PyTorch, Changed Art Exhibition"}]},{"@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\/36367","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=36367"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/36367\/revisions"}],"predecessor-version":[{"id":36368,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/36367\/revisions\/36368"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=36367"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=36367"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=36367"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}