{"id":5398,"date":"2024-03-14T02:47:28","date_gmt":"2024-03-14T02:47:28","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-are-lstm-and-gru-implemented-in-pytorch\/"},"modified":"2025-08-01T14:35:11","modified_gmt":"2025-08-01T14:35:11","slug":"how-are-lstm-and-gru-implemented-in-pytorch","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-are-lstm-and-gru-implemented-in-pytorch\/","title":{"rendered":"LSTM and GRU in PyTorch: Complete Guide"},"content":{"rendered":"<p>LSTM (Long Short-Term Memory) and GRU (Gated Recurrent Unit) in PyTorch are implemented through the torch.nn module. In PyTorch, you can create LSTM and GRU models using the torch.nn.LSTM and torch.nn.GRU classes.<\/p>\n<p>Here is a simple example demonstrating how to use LSTM and GRU in PyTorch.<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">import<\/span> torch\r\n<span class=\"hljs-keyword\">import<\/span> torch.nn <span class=\"hljs-keyword\">as<\/span> nn\r\n\r\n<span class=\"hljs-comment\"># \u5b9a\u4e49\u8f93\u5165\u6570\u636e<\/span>\r\ninput_size = <span class=\"hljs-number\">10<\/span>\r\nhidden_size = <span class=\"hljs-number\">20<\/span>\r\nseq_len = <span class=\"hljs-number\">5<\/span>\r\nbatch_size = <span class=\"hljs-number\">3<\/span>\r\n\r\ninput_data = torch.randn(seq_len, batch_size, input_size)\r\n\r\n<span class=\"hljs-comment\"># \u4f7f\u7528LSTM<\/span>\r\nlstm = nn.LSTM(input_size, hidden_size)\r\noutput, (h_n, c_n) = lstm(input_data)\r\n\r\n<span class=\"hljs-built_in\">print<\/span>(<span class=\"hljs-string\">\"LSTM output shape:\"<\/span>, output.shape)\r\n<span class=\"hljs-built_in\">print<\/span>(<span class=\"hljs-string\">\"LSTM hidden state shape:\"<\/span>, h_n.shape)\r\n<span class=\"hljs-built_in\">print<\/span>(<span class=\"hljs-string\">\"LSTM cell state shape:\"<\/span>, c_n.shape)\r\n\r\n<span class=\"hljs-comment\"># \u4f7f\u7528GRU<\/span>\r\ngru = nn.GRU(input_size, hidden_size)\r\noutput, h_n = gru(input_data)\r\n\r\n<span class=\"hljs-built_in\">print<\/span>(<span class=\"hljs-string\">\"GRU output shape:\"<\/span>, output.shape)\r\n<span class=\"hljs-built_in\">print<\/span>(<span class=\"hljs-string\">\"GRU hidden state shape:\"<\/span>, h_n.shape)\r\n<\/code><\/pre>\n<p>In the example above, we begin by defining the dimensions of the input data and creating an LSTM and a GRU model using the torch.nn.LSTM and torch.nn.GRU classes, respectively. Next, we pass the input data to these models and examine the shapes of their outputs and hidden states.<\/p>\n<p>It is worth noting that the output shapes of LSTM and GRU models may vary depending on the dimensions of the input data and the model&#8217;s parameter settings. Typically, the output shape will include information like sequence length, batch size, and the number of hidden units.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>LSTM (Long Short-Term Memory) and GRU (Gated Recurrent Unit) in PyTorch are implemented through the torch.nn module. In PyTorch, you can create LSTM and GRU models using the torch.nn.LSTM and torch.nn.GRU classes. Here is a simple example demonstrating how to use LSTM and GRU in PyTorch. import torch import torch.nn as nn # \u5b9a\u4e49\u8f93\u5165\u6570\u636e input_size [&hellip;]<\/p>\n","protected":false},"author":13,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[960,5753,1256,944,1239],"class_list":["post-5398","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-deep-learning","tag-gru","tag-lstm","tag-neural-networks","tag-pytorch"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>LSTM and GRU in PyTorch: Complete Guide - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn how to implement LSTM and GRU networks in PyTorch. Complete guide with code examples for building neural networks.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-are-lstm-and-gru-implemented-in-pytorch\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"LSTM and GRU in PyTorch: Complete Guide\" \/>\n<meta property=\"og:description\" content=\"Learn how to implement LSTM and GRU networks in PyTorch. Complete guide with code examples for building neural networks.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-are-lstm-and-gru-implemented-in-pytorch\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-14T02:47:28+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-01T14:35:11+00:00\" \/>\n<meta name=\"author\" content=\"Isabella Edwards\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Isabella Edwards\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-are-lstm-and-gru-implemented-in-pytorch\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-are-lstm-and-gru-implemented-in-pytorch\/\"},\"author\":{\"name\":\"Isabella Edwards\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd\"},\"headline\":\"LSTM and GRU in PyTorch: Complete Guide\",\"datePublished\":\"2024-03-14T02:47:28+00:00\",\"dateModified\":\"2025-08-01T14:35:11+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-are-lstm-and-gru-implemented-in-pytorch\/\"},\"wordCount\":157,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"Deep Learning\",\"GRU\",\"LSTM\",\"Neural Networks\",\"PyTorch\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-are-lstm-and-gru-implemented-in-pytorch\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-are-lstm-and-gru-implemented-in-pytorch\/\",\"name\":\"LSTM and GRU in PyTorch: Complete Guide - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-14T02:47:28+00:00\",\"dateModified\":\"2025-08-01T14:35:11+00:00\",\"description\":\"Learn how to implement LSTM and GRU networks in PyTorch. Complete guide with code examples for building neural networks.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-are-lstm-and-gru-implemented-in-pytorch\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-are-lstm-and-gru-implemented-in-pytorch\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-are-lstm-and-gru-implemented-in-pytorch\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"LSTM and GRU in PyTorch: Complete Guide\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd\",\"name\":\"Isabella Edwards\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g\",\"caption\":\"Isabella Edwards\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/isabellaedwards\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"LSTM and GRU in PyTorch: Complete Guide - Blog - Silicon Cloud","description":"Learn how to implement LSTM and GRU networks in PyTorch. Complete guide with code examples for building neural networks.","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:\/\/www.silicloud.com\/blog\/how-are-lstm-and-gru-implemented-in-pytorch\/","og_locale":"en_US","og_type":"article","og_title":"LSTM and GRU in PyTorch: Complete Guide","og_description":"Learn how to implement LSTM and GRU networks in PyTorch. Complete guide with code examples for building neural networks.","og_url":"https:\/\/www.silicloud.com\/blog\/how-are-lstm-and-gru-implemented-in-pytorch\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-14T02:47:28+00:00","article_modified_time":"2025-08-01T14:35:11+00:00","author":"Isabella Edwards","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Isabella Edwards","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-are-lstm-and-gru-implemented-in-pytorch\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-are-lstm-and-gru-implemented-in-pytorch\/"},"author":{"name":"Isabella Edwards","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd"},"headline":"LSTM and GRU in PyTorch: Complete Guide","datePublished":"2024-03-14T02:47:28+00:00","dateModified":"2025-08-01T14:35:11+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-are-lstm-and-gru-implemented-in-pytorch\/"},"wordCount":157,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["Deep Learning","GRU","LSTM","Neural Networks","PyTorch"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-are-lstm-and-gru-implemented-in-pytorch\/","url":"https:\/\/www.silicloud.com\/blog\/how-are-lstm-and-gru-implemented-in-pytorch\/","name":"LSTM and GRU in PyTorch: Complete Guide - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-14T02:47:28+00:00","dateModified":"2025-08-01T14:35:11+00:00","description":"Learn how to implement LSTM and GRU networks in PyTorch. Complete guide with code examples for building neural networks.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-are-lstm-and-gru-implemented-in-pytorch\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-are-lstm-and-gru-implemented-in-pytorch\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-are-lstm-and-gru-implemented-in-pytorch\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"LSTM and GRU in PyTorch: Complete Guide"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd","name":"Isabella Edwards","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g","caption":"Isabella Edwards"},"url":"https:\/\/www.silicloud.com\/blog\/author\/isabellaedwards\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/5398","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=5398"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/5398\/revisions"}],"predecessor-version":[{"id":150145,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/5398\/revisions\/150145"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=5398"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=5398"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=5398"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}