{"id":36341,"date":"2024-11-01T09:47:39","date_gmt":"2024-11-01T09:47:39","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=36341"},"modified":"2024-11-01T11:00:18","modified_gmt":"2024-11-01T11:00:18","slug":"training-data-collection-for-gan-deep-learning-and-rnn-using-pytorch","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/36341\/","title":{"rendered":"Training Data Collection for GAN Deep Learning and RNN using PyTorch"},"content":{"rendered":"<p><body><\/p>\n<p>\n        The advancement of artificial intelligence and machine learning has brought innovation to all areas of our lives. Among them, GAN (Generative Adversarial Networks) and RNN (Recurrent Neural Networks) are gaining attention as very powerful deep learning techniques.<br \/>\n        In this article, we will implement a GAN model using PyTorch and discuss how to collect training data for RNN in detail.\n    <\/p>\n<h2>1. What is GAN?<\/h2>\n<p>\n        GAN is a learning method in which two neural networks (Generator and Discriminator) compete with each other.<br \/>\n        The Generator generates data similar to reality, and the Discriminator determines whether this data is real or fake.<br \/>\n        GAN is used in various fields such as image generation, video creation, and music generation.\n    <\/p>\n<h2>2. Structure of GAN<\/h2>\n<p>\n        GAN consists of two parts:\n    <\/p>\n<ul>\n<li><strong>Generator<\/strong>: Generates new data based on a given random vector.<\/li>\n<li><strong>Discriminator<\/strong>: Distinguishes between real data and fake data generated by the Generator.<\/li>\n<\/ul>\n<p>\n        The two networks compete to improve each other&#8217;s performance, and through this process, they generate higher quality data.\n    <\/p>\n<h2>3. Learning Process of GAN<\/h2>\n<p>\n        The learning process of GAN generally includes the following steps:\n    <\/p>\n<ul>\n<li>(1) Generate random noise and input it into the Generator.<\/li>\n<li>(2) The Generator generates fake data.<\/li>\n<li>(3) The Discriminator receives real and fake data and outputs predictions for each.<\/li>\n<li>(4) GAN updates the weights of the Generator based on the Discriminator&#8217;s output.<\/li>\n<li>(5) Repeat this process until training is complete.<\/li>\n<\/ul>\n<h2>4. PyTorch Implementation of GAN<\/h2>\n<h3>Environment Setup<\/h3>\n<p>\n        First, you need to install the PyTorch library. Run the command below to install it.\n    <\/p>\n<pre><code>pip install torch torchvision<\/code><\/pre>\n<h3>GAN Code Example Using PyTorch<\/h3>\n<p>\n        Below is a simple implementation example of GAN. We will create a model that generates handwritten digits using the MNIST dataset.\n    <\/p>\n<pre><code>\nimport torch\nimport torch.nn as nn\nimport torch.optim as optim\nimport torchvision.transforms as transforms\nfrom torchvision import datasets\nfrom torch.utils.data import DataLoader\n\n# Hyperparameters\nlatent_size = 64\nbatch_size = 100\nlearning_rate = 0.0002\nnum_epochs = 200\n\n# Load dataset\ntransform = transforms.Compose([\n    transforms.ToTensor(),\n    transforms.Normalize((0.5,), (0.5,))\n])\n\nmnist = datasets.MNIST(root='.\/data', train=True, transform=transform, download=True)\ndata_loader = DataLoader(dataset=mnist, batch_size=batch_size, shuffle=True)\n\n# Define Generator class\nclass Generator(nn.Module):\n    def __init__(self):\n        super(Generator, self).__init__()\n        self.main = nn.Sequential(\n            nn.Linear(latent_size, 256),\n            nn.ReLU(True),\n            nn.Linear(256, 512),\n            nn.ReLU(True),\n            nn.Linear(512, 1024),\n            nn.ReLU(True),\n            nn.Linear(1024, 784),\n            nn.Tanh()\n        )\n\n    def forward(self, x):\n        return self.main(x)\n\n# Define Discriminator class\nclass Discriminator(nn.Module):\n    def __init__(self):\n        super(Discriminator, self).__init__()\n        self.main = nn.Sequential(\n            nn.Linear(784, 1024),\n            nn.LeakyReLU(0.2, inplace=True),\n            nn.Linear(1024, 512),\n            nn.LeakyReLU(0.2, inplace=True),\n            nn.Linear(512, 256),\n            nn.LeakyReLU(0.2, inplace=True),\n            nn.Linear(256, 1),\n            nn.Sigmoid()\n        )\n\n    def forward(self, x):\n        return self.main(x)\n\ngenerator = Generator().cuda()\ndiscriminator = Discriminator().cuda()\n\ncriterion = nn.BCELoss()\noptimizer_G = optim.Adam(generator.parameters(), lr=learning_rate)\noptimizer_D = optim.Adam(discriminator.parameters(), lr=learning_rate)\n\n# Start training\nfor epoch in range(num_epochs):\n    for i, (images, _) in enumerate(data_loader):\n        # Real data labels\n        real_images = images.view(-1, 28*28).cuda()\n        real_labels = torch.ones(batch_size, 1).cuda()\n        # Fake data labels\n        noise = torch.randn(batch_size, latent_size).cuda()\n        fake_images = generator(noise)\n        fake_labels = torch.zeros(batch_size, 1).cuda()\n\n        # Discriminator training\n        optimizer_D.zero_grad()\n        outputs_real = discriminator(real_images)\n        outputs_fake = discriminator(fake_images.detach())\n        loss_D_real = criterion(outputs_real, real_labels)\n        loss_D_fake = criterion(outputs_fake, fake_labels)\n        loss_D = loss_D_real + loss_D_fake\n        loss_D.backward()\n        optimizer_D.step()\n\n        # Generator training\n        optimizer_G.zero_grad()\n        outputs = discriminator(fake_images)\n        loss_G = criterion(outputs, real_labels)\n        loss_G.backward()\n        optimizer_G.step()\n\n    print(f\"Epoch [{epoch+1}\/{num_epochs}], Loss D: {loss_D.item()}, Loss G: {loss_G.item()}\")\n    if (epoch+1) % 10 == 0:\n        # Code to save results can be added here\n        pass\n    <\/code><\/pre>\n<h2>5. Introduction to RNN (Recurrent Neural Network)<\/h2>\n<p>\n        RNN is a neural network structure suitable for processing ordered data, or sequence data. For example, data such as text, music, and time-series data fall into this category.<br \/>\n        RNN works by remembering previous states and updating the current state based on these memories.\n    <\/p>\n<h3>Structure of RNN<\/h3>\n<p>\n        RNN consists of the following components:\n    <\/p>\n<ul>\n<li><strong>Input Layer<\/strong>: The first layer of the model that receives sequence data.<\/li>\n<li><strong>Hidden Layer<\/strong>: Remembers previous states and combines them with the current input to produce outputs.<\/li>\n<li><strong>Output Layer<\/strong>: The layer that generates the final output.<\/li>\n<\/ul>\n<h2>6. Collecting Training Data for RNN<\/h2>\n<p>\n        To train an RNN, appropriate training data is required. Here, we will explain the process of collecting and preprocessing text data.\n    <\/p>\n<h3>6.1 Data Collection<\/h3>\n<p>\n        The data that can be used to train RNNs varies. For example, text data in various forms such as movie reviews, novels, and news articles is possible.<br \/>\n        Data can be collected using web scraping tools (e.g., BeautifulSoup).\n    <\/p>\n<pre><code>\nimport requests\nfrom bs4 import BeautifulSoup\n\nurl = 'https:\/\/example.com\/articles'  # Change to the desired URL\nresponse = requests.get(url)\nsoup = BeautifulSoup(response.content, 'html.parser')\n\narticles = []\nfor item in soup.find_all('article'):\n    title = item.find('h2').text\n    content = item.find('p').text\n    articles.append(f\"{title}\\n{content}\")\n\nwith open('data.txt', 'w', encoding='utf-8') as f:\n    for article in articles:\n        f.write(article + \"\\n\\n\")\n    <\/code><\/pre>\n<h3>6.2 Data Preprocessing<\/h3>\n<p>\n        The collected data needs to undergo a preprocessing procedure before being used as input to the RNN model. A typical preprocessing process includes:\n    <\/p>\n<ul>\n<li>Lowercasing<\/li>\n<li>Removing special characters and numbers<\/li>\n<li>Removing stop words<\/li>\n<\/ul>\n<pre><code>\nimport re\nimport nltk\nfrom nltk.corpus import stopwords\n\n# Downloading NLTK's list of stopwords\nnltk.download('stopwords')\nstop_words = set(stopwords.words('english'))\n\ndef preprocess_text(text):\n    # Lowercasing\n    text = text.lower()\n    # Remove special characters and numbers\n    text = re.sub(r'[^a-z\\s]', '', text)\n    # Remove stop words\n    text = ' '.join([word for word in text.split() if word not in stop_words])\n    return text\n\n# Apply preprocessing\npreprocessed_articles = [preprocess_text(article) for article in articles]\n    <\/code><\/pre>\n<h2>7. RNN Model Implementation Example<\/h2>\n<h3>Environment Setup<\/h3>\n<pre><code>pip install torch torchvision nltk<\/code><\/pre>\n<h3>RNN Code Example Using PyTorch<\/h3>\n<p>\n        Below is a simple RNN model implementation example. It processes text data using word embedding.\n    <\/p>\n<pre><code>\nimport torch\nimport torch.nn as nn\nimport torch.optim as optim\nfrom torch.utils.data import Dataset, DataLoader\n\n# Define RNN model\nclass RNN(nn.Module):\n    def __init__(self, input_size, hidden_size, output_size):\n        super(RNN, self).__init__()\n        self.embedding = nn.Embedding(input_size, hidden_size)\n        self.rnn = nn.RNN(hidden_size, hidden_size)\n        self.fc = nn.Linear(hidden_size, output_size)\n\n    def forward(self, x):\n        x = self.embedding(x)\n        output, hidden = self.rnn(x)\n        output = self.fc(output[-1])\n        return output\n\n# Create training dataset\nclass TextDataset(Dataset):\n    def __init__(self, texts, labels):\n        self.texts = texts\n        self.labels = labels\n\n    def __len__(self):\n        return len(self.labels)\n\n    def __getitem__(self, idx):\n        return torch.tensor(self.texts[idx]), torch.tensor(self.labels[idx])\n\n# Set hyperparameters\ninput_size = 1000  # Number of words\nhidden_size = 128\noutput_size = 2  # Number of classes to classify (e.g., positive\/negative)\nnum_epochs = 20\nlearning_rate = 0.001\n\n# Load and preprocess data\n# Here replaced with dummy data.\ntexts = [...]  # Preprocessed text data\nlabels = [...]  # Corresponding class labels\n\ndataset = TextDataset(texts, labels)\ndata_loader = DataLoader(dataset, batch_size=32, shuffle=True)\n\n# Initialize model\nmodel = RNN(input_size, hidden_size, output_size)\ncriterion = nn.CrossEntropyLoss()\noptimizer = optim.Adam(model.parameters(), lr=learning_rate)\n\n# Start training\nfor epoch in range(num_epochs):\n    for texts, labels in data_loader:\n        optimizer.zero_grad()\n        outputs = model(texts)\n        loss = criterion(outputs, labels)\n        loss.backward()\n        optimizer.step()\n\n    print(f\"Epoch [{epoch+1}\/{num_epochs}], Loss: {loss.item()}\")\n    <\/code><\/pre>\n<h2>8. Conclusion<\/h2>\n<p>\n        In this article, we learned the basic principles and implementation examples of GAN and RNN using PyTorch.<br \/>\n        We examined the process of generating image data using GAN and processing text data in the case of RNN.<br \/>\n        These technologies will continue to evolve and be used in more fields.<br \/>\n        I encourage you to start new projects using these technologies.\n    <\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The advancement of artificial intelligence and machine learning has brought innovation to all areas of our lives. Among them, GAN (Generative Adversarial Networks) and RNN (Recurrent Neural Networks) are gaining attention as very powerful deep learning techniques. In this article, we will implement a GAN model using PyTorch and discuss how to collect training data &hellip; <a href=\"https:\/\/atmokpo.com\/w\/36341\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;Training Data Collection for GAN Deep Learning and RNN using PyTorch&#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-36341","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>Training Data Collection for GAN Deep Learning and RNN using PyTorch - \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\/36341\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Training Data Collection for GAN Deep Learning and RNN using PyTorch - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"The advancement of artificial intelligence and machine learning has brought innovation to all areas of our lives. Among them, GAN (Generative Adversarial Networks) and RNN (Recurrent Neural Networks) are gaining attention as very powerful deep learning techniques. In this article, we will implement a GAN model using PyTorch and discuss how to collect training data &hellip; \ub354 \ubcf4\uae30 &quot;Training Data Collection for GAN Deep Learning and RNN using PyTorch&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/36341\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:47:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T11:00:18+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\/36341\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/36341\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"Training Data Collection for GAN Deep Learning and RNN using PyTorch\",\"datePublished\":\"2024-11-01T09:47:39+00:00\",\"dateModified\":\"2024-11-01T11:00:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/36341\/\"},\"wordCount\":558,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"GAN deep learning course\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/36341\/\",\"url\":\"https:\/\/atmokpo.com\/w\/36341\/\",\"name\":\"Training Data Collection for GAN Deep Learning and RNN using PyTorch - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:47:39+00:00\",\"dateModified\":\"2024-11-01T11:00:18+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/36341\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/36341\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/36341\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Training Data Collection for GAN Deep Learning and RNN using PyTorch\"}]},{\"@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":"Training Data Collection for GAN Deep Learning and RNN using PyTorch - \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\/36341\/","og_locale":"ko_KR","og_type":"article","og_title":"Training Data Collection for GAN Deep Learning and RNN using PyTorch - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"The advancement of artificial intelligence and machine learning has brought innovation to all areas of our lives. Among them, GAN (Generative Adversarial Networks) and RNN (Recurrent Neural Networks) are gaining attention as very powerful deep learning techniques. In this article, we will implement a GAN model using PyTorch and discuss how to collect training data &hellip; \ub354 \ubcf4\uae30 \"Training Data Collection for GAN Deep Learning and RNN using PyTorch\"","og_url":"https:\/\/atmokpo.com\/w\/36341\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:47:39+00:00","article_modified_time":"2024-11-01T11:00:18+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\/36341\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/36341\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"Training Data Collection for GAN Deep Learning and RNN using PyTorch","datePublished":"2024-11-01T09:47:39+00:00","dateModified":"2024-11-01T11:00:18+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/36341\/"},"wordCount":558,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["GAN deep learning course"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/36341\/","url":"https:\/\/atmokpo.com\/w\/36341\/","name":"Training Data Collection for GAN Deep Learning and RNN using PyTorch - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:47:39+00:00","dateModified":"2024-11-01T11:00:18+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/36341\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/36341\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/36341\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"Training Data Collection for GAN Deep Learning and RNN using PyTorch"}]},{"@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\/36341","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=36341"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/36341\/revisions"}],"predecessor-version":[{"id":36342,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/36341\/revisions\/36342"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=36341"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=36341"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=36341"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}