{"id":36471,"date":"2024-11-01T09:48:44","date_gmt":"2024-11-01T09:48:44","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=36471"},"modified":"2024-11-01T11:53:03","modified_gmt":"2024-11-01T11:53:03","slug":"deep-learning-pytorch-course-rnn-cell-implementation","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/36471\/","title":{"rendered":"Deep Learning PyTorch Course, RNN Cell Implementation"},"content":{"rendered":"<p><body><\/p>\n<p>This article provides a detailed explanation of one of the core structures of deep learning, the Recurrent Neural Network (RNN), and demonstrates how to implement an RNN cell using PyTorch. RNNs are very useful for processing sequence data and are widely used in various fields such as natural language processing, speech recognition, and stock prediction. We will understand how RNNs work, their advantages and disadvantages, and implement a simple RNN cell through this discussion.<\/p>\n<h2>1. Overview of RNN<\/h2>\n<p>RNN is a type of neural network designed for processing sequence data. While traditional neural networks receive fixed-size inputs, RNNs have a structure that allows them to process information over multiple time steps. This enables them to handle temporally continuous data by using the output from a previous step as input for the current step.<\/p>\n<h3>1.1 Structure of RNN<\/h3>\n<p>The basic component of an RNN is the cell state (or hidden state). At each time step, the RNN receives an input vector and utilizes the previous hidden state to compute the new hidden state. In mathematical terms, this can be expressed as follows:<\/p>\n<p>\n<img decoding=\"async\" alt=\"RNN Equation\" src=\"https:\/\/latex.codecogs.com\/svg.latex?h_t%20=%20f(W_h%20h_%7Bt-1%7D%20+%20W_x%20x_t%20+%20b)%2C\"\/>\n<\/p>\n<p>Where:<\/p>\n<ul>\n<li>h<sub>t<\/sub> is the hidden state at time t<\/li>\n<li>h<sub>t-1<\/sub> is the hidden state at the previous time step<\/li>\n<li>x<sub>t<\/sub> is the current input vector<\/li>\n<li>W<sub>h<\/sub> is the weight for the previous hidden state, W<sub>x<\/sub> is the weight for the input, and b is the bias.<\/li>\n<\/ul>\n<h3>1.2 Advantages and Disadvantages of RNN<\/h3>\n<p>RNNs have the following advantages and disadvantages:<\/p>\n<ul>\n<li><strong>Advantages:<\/strong>\n<ul>\n<li>Ability to process information that varies over time: RNNs can effectively handle sequence data.<\/li>\n<li>Variable length input: RNNs can process inputs of varying lengths.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Disadvantages:<\/strong>\n<ul>\n<li>Long-term dependency problem: RNNs struggle to learn long-term dependencies.<\/li>\n<li>Vanishing and exploding gradients: Gradients may vanish or explode during backpropagation, making learning difficult.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2>2. Implementing RNN Cell with PyTorch<\/h2>\n<p>Now that we have understood the basic structure of RNNs, let\u2019s implement an RNN cell using PyTorch. PyTorch has become a powerful tool for deep learning research and prototyping.<\/p>\n<h3>2.1 Setting Up the Environment<\/h3>\n<p>First, ensure that Python and PyTorch are installed. You can install PyTorch using the command below:<\/p>\n<pre><code>pip install torch<\/code><\/pre>\n<h3>2.2 Implementing the RNN Cell Class<\/h3>\n<p>Let&#8217;s start by writing a class to implement the RNN cell. This class will take an input vector and the previous hidden state to compute the new hidden state.<\/p>\n<pre><code>\nimport torch\nimport torch.nn as nn\n\nclass SimpleRNNCell(nn.Module):\n    def __init__(self, input_size, hidden_size):\n        super(SimpleRNNCell, self).__init__()\n        self.hidden_size = hidden_size\n        self.W_h = nn.Parameter(torch.randn(hidden_size, hidden_size))  # Weight for the previous hidden state\n        self.W_x = nn.Parameter(torch.randn(hidden_size, input_size))   # Weight for the input\n        self.b = nn.Parameter(torch.zeros(hidden_size))                 # Bias\n\n    def forward(self, x_t, h_t_1):\n        h_t = torch.tanh(torch.mm(self.W_h, h_t_1) + torch.mm(self.W_x, x_t) + self.b)\n        return h_t\n    <\/code><\/pre>\n<h3>2.3 How to Use the RNN Cell<\/h3>\n<p>We will now use the defined RNN cell to process sequence data. As a simple example, we will generate random input data and an initial hidden state, and compute the output through the RNN.<\/p>\n<pre><code>\n# Parameter settings\ninput_size = 3   # Size of the input vector\nhidden_size = 2  # Size of the hidden state vector\nsequence_length = 5\n\n# Initialize the model\nrnn_cell = SimpleRNNCell(input_size, hidden_size)\n\n# Generate random input data and initial hidden state\nx = torch.randn(sequence_length, input_size)  # (sequence_length, input_size)\nh_t_1 = torch.zeros(hidden_size)               # Initial hidden state\n\n# Process sequence through the RNN cell\nfor t in range(sequence_length):\n    h_t = rnn_cell(x[t], h_t_1)  # Calculate new hidden state based on current input and previous hidden state\n    h_t_1 = h_t  # Set the current hidden state as the previous hidden state for the next step\n    print(f\"Time step {t}: h_t = {h_t}\")\n    <\/code><\/pre>\n<h2>3. Extending RNN: LSTM and GRU<\/h2>\n<p>Although RNN has a basic structure, LSTMs (Long Short-Term Memory) or GRUs (Gated Recurrent Units) are often used in real applications to tackle the long-term dependency problem. LSTMs regulate information flow using cell states, while GRUs offer a simpler structure but provide similar performance to LSTMs.<\/p>\n<h3>3.1 LSTM Structure<\/h3>\n<p>LSTMs consist of input gates, forget gates, and output gates, allowing them to remember past information more effectively and to selectively forget it.<\/p>\n<h3>3.2 GRU Structure<\/h3>\n<p>GRUs simplify the structure of LSTMs using update gates and reset gates to control the information flow. GRUs often use fewer parameters than LSTMs and may exhibit similar or even better performance.<\/p>\n<h2>4. Conclusion<\/h2>\n<p>In this lecture, we introduced the basic concept of RNNs and the process of implementing an RNN cell in PyTorch. RNNs are effective for processing sequence data; however, due to long-term dependency issues and gradient vanishing problems, structures such as LSTMs and GRUs are widely used. We hope this lecture helped you understand the basics of RNNs and allowed you to practice implementing them.<\/p>\n<p>In the future, we will cover the implementation of LSTMs and GRUs, as well as various projects utilizing RNNs. We hope to learn together in the continuously evolving world of deep learning.<\/p>\n<footer>\n<p>Author: Deep Learning Course Team<\/p>\n<p>Contact: [your-email@example.com]<\/p>\n<\/footer>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This article provides a detailed explanation of one of the core structures of deep learning, the Recurrent Neural Network (RNN), and demonstrates how to implement an RNN cell using PyTorch. RNNs are very useful for processing sequence data and are widely used in various fields such as natural language processing, speech recognition, and stock prediction. &hellip; <a href=\"https:\/\/atmokpo.com\/w\/36471\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;Deep Learning PyTorch Course, RNN Cell Implementation&#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-36471","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 Cell Implementation - \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\/36471\/\" \/>\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 Cell Implementation - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"This article provides a detailed explanation of one of the core structures of deep learning, the Recurrent Neural Network (RNN), and demonstrates how to implement an RNN cell using PyTorch. RNNs are very useful for processing sequence data and are widely used in various fields such as natural language processing, speech recognition, and stock prediction. &hellip; \ub354 \ubcf4\uae30 &quot;Deep Learning PyTorch Course, RNN Cell Implementation&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/36471\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:48:44+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T11:53:03+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/latex.codecogs.com\/svg.latex?h_t%20=%20f(W_h%20h_%7Bt-1%7D%20+%20W_x%20x_t%20+%20b)%2C\" \/>\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=\"4\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/atmokpo.com\/w\/36471\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/36471\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"Deep Learning PyTorch Course, RNN Cell Implementation\",\"datePublished\":\"2024-11-01T09:48:44+00:00\",\"dateModified\":\"2024-11-01T11:53:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/36471\/\"},\"wordCount\":639,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"image\":{\"@id\":\"https:\/\/atmokpo.com\/w\/36471\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/latex.codecogs.com\/svg.latex?h_t%20=%20f(W_h%20h_%7Bt-1%7D%20+%20W_x%20x_t%20+%20b)%2C\",\"articleSection\":[\"PyTorch Study\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/36471\/\",\"url\":\"https:\/\/atmokpo.com\/w\/36471\/\",\"name\":\"Deep Learning PyTorch Course, RNN Cell Implementation - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/36471\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/atmokpo.com\/w\/36471\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/latex.codecogs.com\/svg.latex?h_t%20=%20f(W_h%20h_%7Bt-1%7D%20+%20W_x%20x_t%20+%20b)%2C\",\"datePublished\":\"2024-11-01T09:48:44+00:00\",\"dateModified\":\"2024-11-01T11:53:03+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/36471\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/36471\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/atmokpo.com\/w\/36471\/#primaryimage\",\"url\":\"https:\/\/latex.codecogs.com\/svg.latex?h_t%20=%20f(W_h%20h_%7Bt-1%7D%20+%20W_x%20x_t%20+%20b)%2C\",\"contentUrl\":\"https:\/\/latex.codecogs.com\/svg.latex?h_t%20=%20f(W_h%20h_%7Bt-1%7D%20+%20W_x%20x_t%20+%20b)%2C\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/36471\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Deep Learning PyTorch Course, RNN Cell Implementation\"}]},{\"@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 Cell Implementation - \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\/36471\/","og_locale":"ko_KR","og_type":"article","og_title":"Deep Learning PyTorch Course, RNN Cell Implementation - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"This article provides a detailed explanation of one of the core structures of deep learning, the Recurrent Neural Network (RNN), and demonstrates how to implement an RNN cell using PyTorch. RNNs are very useful for processing sequence data and are widely used in various fields such as natural language processing, speech recognition, and stock prediction. &hellip; \ub354 \ubcf4\uae30 \"Deep Learning PyTorch Course, RNN Cell Implementation\"","og_url":"https:\/\/atmokpo.com\/w\/36471\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:48:44+00:00","article_modified_time":"2024-11-01T11:53:03+00:00","og_image":[{"url":"https:\/\/latex.codecogs.com\/svg.latex?h_t%20=%20f(W_h%20h_%7Bt-1%7D%20+%20W_x%20x_t%20+%20b)%2C","type":"","width":"","height":""}],"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":"4\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/atmokpo.com\/w\/36471\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/36471\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"Deep Learning PyTorch Course, RNN Cell Implementation","datePublished":"2024-11-01T09:48:44+00:00","dateModified":"2024-11-01T11:53:03+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/36471\/"},"wordCount":639,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"image":{"@id":"https:\/\/atmokpo.com\/w\/36471\/#primaryimage"},"thumbnailUrl":"https:\/\/latex.codecogs.com\/svg.latex?h_t%20=%20f(W_h%20h_%7Bt-1%7D%20+%20W_x%20x_t%20+%20b)%2C","articleSection":["PyTorch Study"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/36471\/","url":"https:\/\/atmokpo.com\/w\/36471\/","name":"Deep Learning PyTorch Course, RNN Cell Implementation - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"primaryImageOfPage":{"@id":"https:\/\/atmokpo.com\/w\/36471\/#primaryimage"},"image":{"@id":"https:\/\/atmokpo.com\/w\/36471\/#primaryimage"},"thumbnailUrl":"https:\/\/latex.codecogs.com\/svg.latex?h_t%20=%20f(W_h%20h_%7Bt-1%7D%20+%20W_x%20x_t%20+%20b)%2C","datePublished":"2024-11-01T09:48:44+00:00","dateModified":"2024-11-01T11:53:03+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/36471\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/36471\/"]}]},{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/atmokpo.com\/w\/36471\/#primaryimage","url":"https:\/\/latex.codecogs.com\/svg.latex?h_t%20=%20f(W_h%20h_%7Bt-1%7D%20+%20W_x%20x_t%20+%20b)%2C","contentUrl":"https:\/\/latex.codecogs.com\/svg.latex?h_t%20=%20f(W_h%20h_%7Bt-1%7D%20+%20W_x%20x_t%20+%20b)%2C"},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/36471\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"Deep Learning PyTorch Course, RNN Cell Implementation"}]},{"@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\/36471","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=36471"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/36471\/revisions"}],"predecessor-version":[{"id":36472,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/36471\/revisions\/36472"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=36471"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=36471"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=36471"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}