{"id":36435,"date":"2024-11-01T09:48:29","date_gmt":"2024-11-01T09:48:29","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=36435"},"modified":"2024-11-01T11:53:11","modified_gmt":"2024-11-01T11:53:11","slug":"deep-learning-pytorch-course-googlenet","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/36435\/","title":{"rendered":"Deep Learning PyTorch Course, GoogLeNet"},"content":{"rendered":"<p><body><\/p>\n<p>Deep learning has become one of the most important technologies in the field of artificial intelligence, and among them, neural networks are widely used to solve various problems. In this course, we will take a closer look at GoogLeNet, a CNN (Convolutional Neural Network). GoogLeNet gained significant attention by winning the ILSVRC (Imagenet Large Scale Visual Recognition Challenge) in 2014.<\/p>\n<h2>1. Overview of GoogLeNet<\/h2>\n<p>GoogLeNet, also known as &#8216;Inception v1&#8217;, has a unique structure that includes multiple convolution layers. Its main feature is the &#8216;Inception module&#8217;, which uses filters of various sizes to process images simultaneously. This approach helps the network learn more information without losing details.<\/p>\n<h2>2. Structure of GoogLeNet<\/h2>\n<ul>\n<li>Input Layer: Accepts images of size 224&#215;224.<\/li>\n<li>Convolution Layer: Uses filters of various sizes (1&#215;1, 3&#215;3, 5&#215;5).<\/li>\n<li>Pooling Layer: Reduces the size of the feature map through down sampling.<\/li>\n<li>Fully Connected Layer: Provides classification results as the final output.<\/li>\n<\/ul>\n<h3>2.1 Inception Module<\/h3>\n<p>The Inception module uses multiple filters to capture details at different levels. Each module is composed as follows:<\/p>\n<ul>\n<li>1&#215;1 Convolution<\/li>\n<li>3&#215;3 Convolution<\/li>\n<li>5&#215;5 Convolution<\/li>\n<li>3&#215;3 Max Pooling<\/li>\n<\/ul>\n<p>All these outputs are combined and passed to the next layer. This way, features at various scales can be obtained.<\/p>\n<h2>3. Implementing GoogLeNet in PyTorch<\/h2>\n<p>Now let&#8217;s look at how to implement GoogLeNet in PyTorch. First, we need to install PyTorch and other essential libraries.<\/p>\n<pre><code>pip install torch torchvision<\/code><\/pre>\n<h3>3.1 Preparing the Dataset<\/h3>\n<p>In this example, we will use the CIFAR-10 dataset. This dataset consists of 60,000 images divided into 10 classes.<\/p>\n<pre><code>\nimport torch\nimport torchvision\nimport torchvision.transforms as transforms\n\n# Define data transformations\ntransform = transforms.Compose(\n    [transforms.Resize((224, 224)),\n     transforms.ToTensor()])\n\n# Download CIFAR-10 dataset\ntrainset = torchvision.datasets.CIFAR10(root='.\/data', train=True,\n                                        download=True, transform=transform)\ntrainloader = torch.utils.data.DataLoader(trainset, batch_size=32,\n                                          shuffle=True, num_workers=2)\ntestset = torchvision.datasets.CIFAR10(root='.\/data', train=False,\n                                       download=True, transform=transform)\ntestloader = torch.utils.data.DataLoader(testset, batch_size=32,\n                                         shuffle=False, num_workers=2)\n<\/code><\/pre>\n<h3>3.2 Defining the GoogLeNet Model<\/h3>\n<p>Next, we will define the GoogLeNet model. We will write the Inception module to be used.<\/p>\n<pre><code>\nimport torch.nn as nn\nimport torch.nn.functional as F\n\nclass Inception(nn.Module):\n    def __init__(self, in_channels):\n        super(Inception, self).__init__()\n        self.branch1x1 = nn.Sequential(\n            nn.Conv2d(in_channels, 64, kernel_size=1),\n            nn.BatchNorm2d(64),\n            nn.ReLU(inplace=True)\n        )\n\n        self.branch3x3 = nn.Sequential(\n            nn.Conv2d(in_channels, 128, kernel_size=1),\n            nn.BatchNorm2d(128),\n            nn.ReLU(inplace=True),\n            nn.Conv2d(128, 128, kernel_size=3, padding=1),\n            nn.BatchNorm2d(128),\n            nn.ReLU(inplace=True)\n        )\n\n        self.branch5x5 = nn.Sequential(\n            nn.Conv2d(in_channels, 32, kernel_size=1),\n            nn.BatchNorm2d(32),\n            nn.ReLU(inplace=True),\n            nn.Conv2d(32, 64, kernel_size=5, padding=2),\n            nn.BatchNorm2d(64),\n            nn.ReLU(inplace=True)\n        )\n\n        self.branch_pool = nn.Sequential(\n            nn.MaxPool2d(kernel_size=3, stride=1, padding=1),\n            nn.Conv2d(in_channels, 32, kernel_size=1),\n            nn.BatchNorm2d(32),\n            nn.ReLU(inplace=True)\n        )\n\n    def forward(self, x):\n        branch1 = self.branch1x1(x)\n        branch3 = self.branch3x3(x)\n        branch5 = self.branch5x5(x)\n        branch_pool = self.branch_pool(x)\n\n        outputs = [branch1, branch3, branch5, branch_pool]\n        return torch.cat(outputs, 1)\n<\/code><\/pre>\n<h3>3.3 Defining the Full GoogLeNet<\/h3>\n<pre><code>\nclass GoogLeNet(nn.Module):\n    def __init__(self, num_classes=10):\n        super(GoogLeNet, self).__init__()\n        self.conv1 = nn.Conv2d(3, 64, kernel_size=7, stride=2, padding=3)\n        self.pool1 = nn.MaxPool2d(kernel_size=3, stride=2, padding=1)\n\n        self.conv2 = nn.Conv2d(64, 192, kernel_size=3, padding=1)\n        self.pool2 = nn.MaxPool2d(kernel_size=3, stride=2, padding=1)\n\n        self.inception1 = Inception(192)\n        self.inception2 = Inception(256)\n        self.inception3 = Inception(480)\n\n        self.pool3 = nn.AvgPool2d(kernel_size=7)\n        self.fc = nn.Linear(480, num_classes)\n\n    def forward(self, x):\n        x = F.relu(self.conv1(x))\n        x = self.pool1(x)\n        x = F.relu(self.conv2(x))\n        x = self.pool2(x)\n\n        x = self.inception1(x)\n        x = self.inception2(x)\n        x = self.inception3(x)\n\n        x = self.pool3(x)\n        x = x.view(x.size(0), -1)\n        x = self.fc(x)\n        return x\n\nmodel = GoogLeNet()\n<\/code><\/pre>\n<h3>3.4 Defining the Loss Function and Optimizer<\/h3>\n<p>Now that we are ready to train the model, we will define the loss function and the optimizer.<\/p>\n<pre><code>\nimport torch.optim as optim\n\ncriterion = nn.CrossEntropyLoss()\noptimizer = optim.Adam(model.parameters(), lr=0.001)\n<\/code><\/pre>\n<h3>3.5 Training the Model<\/h3>\n<p>Now we will train the model. We will track the loss and accuracy during the given epochs.<\/p>\n<pre><code>\nnum_epochs = 10\n\nfor epoch in range(num_epochs):\n    model.train()\n    running_loss = 0.0\n    for i, data in enumerate(trainloader, 0):\n        inputs, labels = data\n        optimizer.zero_grad()\n        outputs = model(inputs)\n        loss = criterion(outputs, labels)\n        loss.backward()\n        optimizer.step()\n\n        running_loss += loss.item()\n        if i % 100 == 99:  # Print every 100 batches\n            print(f'Epoch [{epoch+1}\/{num_epochs}], Step [{i+1}\/{len(trainloader)}], Loss: {running_loss \/ 100:.4f}')\n            running_loss = 0.0\n    print('Training complete')\n\nprint('Model training finished!')\n<\/code><\/pre>\n<h3>3.6 Evaluating the Model<\/h3>\n<p>Once training is complete, we will evaluate the model&#8217;s performance using the test dataset.<\/p>\n<pre><code>\ncorrect = 0\ntotal = 0\nmodel.eval()\nwith torch.no_grad():\n    for data in testloader:\n        images, labels = data\n        outputs = model(images)\n        _, predicted = torch.max(outputs.data, 1)\n        total += labels.size(0)\n        correct += (predicted == labels).sum().item()\n\nprint(f'Accuracy: {100 * correct \/ total:.2f}%')\n<\/code><\/pre>\n<h2>4. Conclusion<\/h2>\n<p>GoogLeNet offers a powerful network structure that can leverage features at various scales. In this course, we learned the fundamental concepts of GoogLeNet and how to implement it in PyTorch. With this understanding, you will be able to apply similar methods in more complex models.<\/p>\n<p>Additionally, there are many variations of GoogLeNet. Models like Inception v2 and Inception v3 improve performance by adjusting the depth or structure of the model. These variations can help achieve even more accurate predictions. In the next course, we will also cover these variant models.<\/p>\n<p>That concludes the explanation about GoogLeNet. Thank you!<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Deep learning has become one of the most important technologies in the field of artificial intelligence, and among them, neural networks are widely used to solve various problems. In this course, we will take a closer look at GoogLeNet, a CNN (Convolutional Neural Network). GoogLeNet gained significant attention by winning the ILSVRC (Imagenet Large Scale &hellip; <a href=\"https:\/\/atmokpo.com\/w\/36435\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;Deep Learning PyTorch Course, GoogLeNet&#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":[149],"tags":[],"class_list":["post-36435","post","type-post","status-publish","format-standard","hentry","category-pytorch-study"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Deep Learning PyTorch Course, GoogLeNet - \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\/36435\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Deep Learning PyTorch Course, GoogLeNet - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"Deep learning has become one of the most important technologies in the field of artificial intelligence, and among them, neural networks are widely used to solve various problems. In this course, we will take a closer look at GoogLeNet, a CNN (Convolutional Neural Network). GoogLeNet gained significant attention by winning the ILSVRC (Imagenet Large Scale &hellip; \ub354 \ubcf4\uae30 &quot;Deep Learning PyTorch Course, GoogLeNet&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/36435\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:48:29+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T11:53: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=\"5\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/atmokpo.com\/w\/36435\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/36435\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"Deep Learning PyTorch Course, GoogLeNet\",\"datePublished\":\"2024-11-01T09:48:29+00:00\",\"dateModified\":\"2024-11-01T11:53:11+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/36435\/\"},\"wordCount\":431,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"PyTorch Study\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/36435\/\",\"url\":\"https:\/\/atmokpo.com\/w\/36435\/\",\"name\":\"Deep Learning PyTorch Course, GoogLeNet - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:48:29+00:00\",\"dateModified\":\"2024-11-01T11:53:11+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/36435\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/36435\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/36435\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Deep Learning PyTorch Course, GoogLeNet\"}]},{\"@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 PyTorch Course, GoogLeNet - \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\/36435\/","og_locale":"ko_KR","og_type":"article","og_title":"Deep Learning PyTorch Course, GoogLeNet - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"Deep learning has become one of the most important technologies in the field of artificial intelligence, and among them, neural networks are widely used to solve various problems. In this course, we will take a closer look at GoogLeNet, a CNN (Convolutional Neural Network). GoogLeNet gained significant attention by winning the ILSVRC (Imagenet Large Scale &hellip; \ub354 \ubcf4\uae30 \"Deep Learning PyTorch Course, GoogLeNet\"","og_url":"https:\/\/atmokpo.com\/w\/36435\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:48:29+00:00","article_modified_time":"2024-11-01T11:53: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":"5\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/atmokpo.com\/w\/36435\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/36435\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"Deep Learning PyTorch Course, GoogLeNet","datePublished":"2024-11-01T09:48:29+00:00","dateModified":"2024-11-01T11:53:11+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/36435\/"},"wordCount":431,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["PyTorch Study"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/36435\/","url":"https:\/\/atmokpo.com\/w\/36435\/","name":"Deep Learning PyTorch Course, GoogLeNet - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:48:29+00:00","dateModified":"2024-11-01T11:53:11+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/36435\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/36435\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/36435\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"Deep Learning PyTorch Course, GoogLeNet"}]},{"@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\/36435","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=36435"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/36435\/revisions"}],"predecessor-version":[{"id":36436,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/36435\/revisions\/36436"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=36435"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=36435"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=36435"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}