{"id":36465,"date":"2024-11-01T09:48:42","date_gmt":"2024-11-01T09:48:42","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=36465"},"modified":"2024-11-01T11:53:04","modified_gmt":"2024-11-01T11:53:04","slug":"deep-learning-pytorch-course-rnn-lstm-gru-performance-comparison","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/36465\/","title":{"rendered":"Deep Learning PyTorch Course, RNN, LSTM, GRU Performance Comparison"},"content":{"rendered":"<p><body><\/p>\n<p>Deep learning has become an essential technology in the fields of data science and artificial intelligence today.<br \/>\n    In this course, we will discuss in depth the key artificial neural network structures for processing sequence data: RNN (Recurrent Neural Network), LSTM (Long Short-Term Memory), and GRU (Gated Recurrent Unit), and compare the performance of each model.<\/p>\n<h2>1. Understanding RNN (Recurrent Neural Network)<\/h2>\n<p>RNN is a type of neural network designed to process sequentially input data. Unlike traditional neural networks, RNN can learn the temporal dependencies of sequence data by using the previous output state as the current input.<\/p>\n<h3>1.1. RNN Structure<\/h3>\n<p>The basic structure of an RNN is as follows:<\/p>\n<pre><code>\n    h_t = f(W_hh * h_{t-1} + W_xh * x_t)\n    <\/code><\/pre>\n<p>Here, <code>h_t<\/code> is the current state, <code>h_{t-1}<\/code> is the previous state, <code>x_t<\/code> is the current input, <code>W_hh<\/code> and <code>W_xh<\/code> are weight parameters, and <code>f<\/code> is the activation function.<\/p>\n<h3>1.2. Limitations of RNN<\/h3>\n<p>RNN struggles to solve the long-term dependency problem. This is because RNN finds it difficult to remember information that occurred a long time ago in long sequences.<\/p>\n<h2>2. Introduction to LSTM (Long Short-Term Memory)<\/h2>\n<p>LSTM is a structure devised to overcome the limitations of RNN, demonstrating strong performance in learning long sequence data.<\/p>\n<h3>2.1. LSTM Structure<\/h3>\n<p>LSTM performs the role of selectively remembering and forgetting information through cell states and gate mechanisms. The basic equations for LSTM are as follows:<\/p>\n<pre><code>\n    f_t = \u03c3(W_f * [h_{t-1}, x_t] + b_f)  \/\/ Forget gate\n    i_t = \u03c3(W_i * [h_{t-1}, x_t] + b_i)  \/\/ Input gate\n    o_t = \u03c3(W_o * [h_{t-1}, x_t] + b_o)  \/\/ Output gate\n    C_t = f_t * C_{t-1} + i_t * tanh(W_c * [h_{t-1}, x_t] + b_c)  \/\/ Cell state update\n    h_t = o_t * tanh(C_t)  \/\/ Final output\n    <\/code><\/pre>\n<h3>2.2. Advantages of LSTM<\/h3>\n<p>LSTM can maintain the flow of information smoothly, even in long sequences, and is a powerful tool for improving the performance of deep learning models.<\/p>\n<h2>3. Comparison of GRU (Gated Recurrent Unit)<\/h2>\n<p>GRU is a simplified model of LSTM that achieves similar performance with fewer parameters.<\/p>\n<h3>3.1. GRU Structure<\/h3>\n<pre><code>\n    z_t = \u03c3(W_z * [h_{t-1}, x_t] + b_z)  \/\/ Update gate\n    r_t = \u03c3(W_r * [h_{t-1}, x_t] + b_r)  \/\/ Reset gate\n    h_t = (1 - z_t) * h_{t-1} + z_t * tanh(W_h * [r_t * h_{t-1}, x_t] + b_h)  \/\/ Final output\n    <\/code><\/pre>\n<h3>3.2. Advantages of GRU<\/h3>\n<p>GRU can be trained with fewer resources while maintaining similar performance to LSTM. Additionally, its relatively simpler structure improves computational efficiency.<\/p>\n<h2>4. Practical Comparison of RNN, LSTM, and GRU Performance<\/h2>\n<p>Now, we will implement RNN, LSTM, and GRU models using PyTorch and compare their performance. We will proceed with a simple time series prediction problem.<\/p>\n<h3>4.1. Data Preparation<\/h3>\n<p>The code below generates simple time series data.<\/p>\n<pre><code>\nimport numpy as np\nimport torch\nimport torch.nn as nn\nimport matplotlib.pyplot as plt\n\n# Generate time series data\ndef create_dataset(seq, time_step=1):\n    X, Y = [], []\n    for i in range(len(seq) - time_step - 1):\n        X.append(seq[i:(i + time_step)])\n        Y.append(seq[i + time_step])\n    return np.array(X), np.array(Y)\n\n# Time series data\ndata = np.sin(np.arange(0, 100, 0.1))\ntime_step = 10\nX, Y = create_dataset(data, time_step)\n\n# Convert to PyTorch tensors\nX = torch.FloatTensor(X).view(-1, time_step, 1)\nY = torch.FloatTensor(Y)\n    <\/code><\/pre>\n<h3>4.2. Model Implementation<\/h3>\n<p>Now we will implement each model. The RNN model is as follows:<\/p>\n<pre><code>\nclass RNNModel(nn.Module):\n    def __init__(self, input_size, hidden_size):\n        super(RNNModel, self).__init__()\n        self.rnn = nn.RNN(input_size, hidden_size, batch_first=True)\n        self.fc = nn.Linear(hidden_size, 1)\n\n    def forward(self, x):\n        out, _ = self.rnn(x)\n        out = self.fc(out[:, -1, :])\n        return out\n\n# Initialize model\nrnn_model = RNNModel(input_size=1, hidden_size=5)\n    <\/code><\/pre>\n<p>Next, let&#8217;s implement the LSTM model:<\/p>\n<pre><code>\nclass LSTMModel(nn.Module):\n    def __init__(self, input_size, hidden_size):\n        super(LSTMModel, self).__init__()\n        self.lstm = nn.LSTM(input_size, hidden_size, batch_first=True)\n        self.fc = nn.Linear(hidden_size, 1)\n\n    def forward(self, x):\n        out, _ = self.lstm(x)\n        out = self.fc(out[:, -1, :])\n        return out\n\n# Initialize model\nlstm_model = LSTMModel(input_size=1, hidden_size=5)\n    <\/code><\/pre>\n<p>Finally, we will implement the GRU model:<\/p>\n<pre><code>\nclass GRUModel(nn.Module):\n    def __init__(self, input_size, hidden_size):\n        super(GRUModel, self).__init__()\n        self.gru = nn.GRU(input_size, hidden_size, batch_first=True)\n        self.fc = nn.Linear(hidden_size, 1)\n\n    def forward(self, x):\n        out, _ = self.gru(x)\n        out = self.fc(out[:, -1, :])\n        return out\n\n# Initialize model\ngru_model = GRUModel(input_size=1, hidden_size=5)\n    <\/code><\/pre>\n<h3>4.3. Model Training<\/h3>\n<p>We will train the models and compare their performance.<\/p>\n<pre><code>\ndef train_model(model, X_train, Y_train, num_epochs=100, learning_rate=0.01):\n    criterion = nn.MSELoss()\n    optimizer = torch.optim.Adam(model.parameters(), lr=learning_rate)\n\n    for epoch in range(num_epochs):\n        model.train()\n        optimizer.zero_grad()\n        outputs = model(X_train)\n        loss = criterion(outputs, Y_train.view(-1, 1))\n        loss.backward()\n        optimizer.step()\n\n    return model\n\n# Train models\nrnn_trained = train_model(rnn_model, X, Y)\nlstm_trained = train_model(lstm_model, X, Y)\ngru_trained = train_model(gru_model, X, Y)\n    <\/code><\/pre>\n<h3>4.4. Performance Evaluation<\/h3>\n<p>We will evaluate the performance of each model.<\/p>\n<pre><code>\ndef evaluate_model(model, X_test):\n    model.eval()\n    with torch.no_grad():\n        predictions = model(X_test)\n    return predictions\n\n# Predictions\nrnn_predictions = evaluate_model(rnn_trained, X)\nlstm_predictions = evaluate_model(lstm_trained, X)\ngru_predictions = evaluate_model(gru_trained, X)\n\n# Visualization of results\nplt.figure(figsize=(12, 8))\nplt.plot(Y.numpy(), label='True')\nplt.plot(rnn_predictions.numpy(), label='RNN Predictions')\nplt.plot(lstm_predictions.numpy(), label='LSTM Predictions')\nplt.plot(gru_predictions.numpy(), label='GRU Predictions')\nplt.legend()\nplt.show()\n    <\/code><\/pre>\n<h2>5. Conclusion<\/h2>\n<p>In this course, we understood the basic concepts of RNN, LSTM, and GRU, their implementation methods, and compared their performance to grasp the characteristics of these models. RNN is the most basic form, while LSTM and GRU are powerful tools that can be selected based on specific needs. It is important to choose the appropriate model according to the business problem.<\/p>\n<h2>References<\/h2>\n<p>For further learning, please refer to the following resources:<\/p>\n<ul>\n<li><a href=\"https:\/\/pytorch.org\/docs\/stable\/index.html\">PyTorch Official Documentation<\/a><\/li>\n<li><a href=\"http:\/\/www.cs.rice.edu\/~saintj\/423\/notes\/DeepLearningSeq2Seq.pdf\">Sequence to Sequence Learning with Neural Networks<\/a><\/li>\n<li><a href=\"https:\/\/www.deeplearningbook.org\/\">Deep Learning Book<\/a><\/li>\n<\/ul>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Deep learning has become an essential technology in the fields of data science and artificial intelligence today. In this course, we will discuss in depth the key artificial neural network structures for processing sequence data: RNN (Recurrent Neural Network), LSTM (Long Short-Term Memory), and GRU (Gated Recurrent Unit), and compare the performance of each model. &hellip; <a href=\"https:\/\/atmokpo.com\/w\/36465\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;Deep Learning PyTorch Course, RNN, LSTM, GRU Performance Comparison&#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-36465","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, RNN, LSTM, GRU Performance Comparison - \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\/36465\/\" \/>\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, RNN, LSTM, GRU Performance Comparison - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"Deep learning has become an essential technology in the fields of data science and artificial intelligence today. In this course, we will discuss in depth the key artificial neural network structures for processing sequence data: RNN (Recurrent Neural Network), LSTM (Long Short-Term Memory), and GRU (Gated Recurrent Unit), and compare the performance of each model. &hellip; \ub354 \ubcf4\uae30 &quot;Deep Learning PyTorch Course, RNN, LSTM, GRU Performance Comparison&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/36465\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:48:42+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T11:53:04+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\/36465\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/36465\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"Deep Learning PyTorch Course, RNN, LSTM, GRU Performance Comparison\",\"datePublished\":\"2024-11-01T09:48:42+00:00\",\"dateModified\":\"2024-11-01T11:53:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/36465\/\"},\"wordCount\":470,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"PyTorch Study\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/36465\/\",\"url\":\"https:\/\/atmokpo.com\/w\/36465\/\",\"name\":\"Deep Learning PyTorch Course, RNN, LSTM, GRU Performance Comparison - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:48:42+00:00\",\"dateModified\":\"2024-11-01T11:53:04+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/36465\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/36465\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/36465\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Deep Learning PyTorch Course, RNN, LSTM, GRU Performance Comparison\"}]},{\"@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, RNN, LSTM, GRU Performance Comparison - \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\/36465\/","og_locale":"ko_KR","og_type":"article","og_title":"Deep Learning PyTorch Course, RNN, LSTM, GRU Performance Comparison - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"Deep learning has become an essential technology in the fields of data science and artificial intelligence today. In this course, we will discuss in depth the key artificial neural network structures for processing sequence data: RNN (Recurrent Neural Network), LSTM (Long Short-Term Memory), and GRU (Gated Recurrent Unit), and compare the performance of each model. &hellip; \ub354 \ubcf4\uae30 \"Deep Learning PyTorch Course, RNN, LSTM, GRU Performance Comparison\"","og_url":"https:\/\/atmokpo.com\/w\/36465\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:48:42+00:00","article_modified_time":"2024-11-01T11:53:04+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\/36465\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/36465\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"Deep Learning PyTorch Course, RNN, LSTM, GRU Performance Comparison","datePublished":"2024-11-01T09:48:42+00:00","dateModified":"2024-11-01T11:53:04+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/36465\/"},"wordCount":470,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["PyTorch Study"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/36465\/","url":"https:\/\/atmokpo.com\/w\/36465\/","name":"Deep Learning PyTorch Course, RNN, LSTM, GRU Performance Comparison - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:48:42+00:00","dateModified":"2024-11-01T11:53:04+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/36465\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/36465\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/36465\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"Deep Learning PyTorch Course, RNN, LSTM, GRU Performance Comparison"}]},{"@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\/36465","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=36465"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/36465\/revisions"}],"predecessor-version":[{"id":36466,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/36465\/revisions\/36466"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=36465"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=36465"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=36465"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}