{"id":23812,"date":"2024-03-16T02:03:07","date_gmt":"2024-03-16T02:03:07","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/what-is-the-method-for-concatenating-two-models-in-pytorch\/"},"modified":"2024-03-22T02:10:43","modified_gmt":"2024-03-22T02:10:43","slug":"what-is-the-method-for-concatenating-two-models-in-pytorch","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/what-is-the-method-for-concatenating-two-models-in-pytorch\/","title":{"rendered":"What is the method for concatenating two models in PyTorch?"},"content":{"rendered":"<p>In PyTorch, we can concatenate two models using the torch.cat() function. This function allows us to concatenate multiple tensors along a specified dimension. The dimension for concatenation can be any dimension, for example, 0 for concatenating along the 0th dimension, 1 for concatenating along the 1st dimension, and so on.<\/p>\n<p>Here is an example code that demonstrates how to concatenate two models on a specified dimension.<\/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\"># \u5047\u8bbe\u6709\u4e24\u4e2a\u6a21\u578bmodel1\u548cmodel2<\/span>\r\nmodel1 = nn.Linear(<span class=\"hljs-number\">10<\/span>, <span class=\"hljs-number\">5<\/span>)\r\nmodel2 = nn.Linear(<span class=\"hljs-number\">5<\/span>, <span class=\"hljs-number\">3<\/span>)\r\n\r\n<span class=\"hljs-comment\"># \u83b7\u53d6\u6a21\u578b\u7684\u53c2\u6570<\/span>\r\nparams1 = model1.parameters()\r\nparams2 = model2.parameters()\r\n\r\n<span class=\"hljs-comment\"># \u5c06\u53c2\u6570\u62fc\u63a5\u5728\u4e00\u8d77<\/span>\r\nconcat_params = <span class=\"hljs-built_in\">list<\/span>(params1) + <span class=\"hljs-built_in\">list<\/span>(params2)\r\n\r\n<span class=\"hljs-comment\"># \u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u6a21\u578b\uff0c\u5176\u4e2d\u7684\u53c2\u6570\u662f\u62fc\u63a5\u540e\u7684\u53c2\u6570<\/span>\r\nconcat_model = nn.ModuleList(concat_params)\r\n<\/code><\/pre>\n<p>In the above code, we created two models, model1 and model2, using the nn.Linear() function and obtained their parameters, params1 and params2. Then, we converted the two parameter lists into regular Python lists using list() and concatenated them with the + operator. Finally, we passed the concatenated parameter list to the nn.ModuleList() function to create a new model, concat_model, with the concatenated parameters.<\/p>\n<p>It is important to note that the concatenated parameter list should be of type nn.Parameter, not a normal Tensor type. Therefore, before using torch.cat() to concatenate, you need to convert the Tensor type parameters to nn.Parameter type parameters using nn.Parameter() or nn.ParameterList().<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In PyTorch, we can concatenate two models using the torch.cat() function. This function allows us to concatenate multiple tensors along a specified dimension. The dimension for concatenation can be any dimension, for example, 0 for concatenating along the 0th dimension, 1 for concatenating along the 1st dimension, and so on. Here is an example code [&hellip;]<\/p>\n","protected":false},"author":14,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-23812","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"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>What is the method for concatenating two models in PyTorch? - Blog - Silicon Cloud<\/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:\/\/www.silicloud.com\/blog\/what-is-the-method-for-concatenating-two-models-in-pytorch\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What is the method for concatenating two models in PyTorch?\" \/>\n<meta property=\"og:description\" content=\"In PyTorch, we can concatenate two models using the torch.cat() function. This function allows us to concatenate multiple tensors along a specified dimension. The dimension for concatenation can be any dimension, for example, 0 for concatenating along the 0th dimension, 1 for concatenating along the 1st dimension, and so on. Here is an example code [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/what-is-the-method-for-concatenating-two-models-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-16T02:03:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-22T02:10:43+00:00\" \/>\n<meta name=\"author\" content=\"Noah Thompson\" \/>\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=\"Noah Thompson\" \/>\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\/what-is-the-method-for-concatenating-two-models-in-pytorch\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-method-for-concatenating-two-models-in-pytorch\/\"},\"author\":{\"name\":\"Noah Thompson\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/2e83cc6ab9f60d36921c2d0f9f280f4a\"},\"headline\":\"What is the method for concatenating two models in PyTorch?\",\"datePublished\":\"2024-03-16T02:03:07+00:00\",\"dateModified\":\"2024-03-22T02:10:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-method-for-concatenating-two-models-in-pytorch\/\"},\"wordCount\":187,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-method-for-concatenating-two-models-in-pytorch\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-method-for-concatenating-two-models-in-pytorch\/\",\"name\":\"What is the method for concatenating two models in PyTorch? - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-16T02:03:07+00:00\",\"dateModified\":\"2024-03-22T02:10:43+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-method-for-concatenating-two-models-in-pytorch\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/what-is-the-method-for-concatenating-two-models-in-pytorch\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-method-for-concatenating-two-models-in-pytorch\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"What is the method for concatenating two models in PyTorch?\"}]},{\"@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\/2e83cc6ab9f60d36921c2d0f9f280f4a\",\"name\":\"Noah Thompson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/350e537e1530ede2762ee0237e877d6693f4f7163ab4f303202cc9a6b27b6cb4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/350e537e1530ede2762ee0237e877d6693f4f7163ab4f303202cc9a6b27b6cb4?s=96&d=mm&r=g\",\"caption\":\"Noah Thompson\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/noahthompson\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"What is the method for concatenating two models in PyTorch? - Blog - Silicon Cloud","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\/what-is-the-method-for-concatenating-two-models-in-pytorch\/","og_locale":"en_US","og_type":"article","og_title":"What is the method for concatenating two models in PyTorch?","og_description":"In PyTorch, we can concatenate two models using the torch.cat() function. This function allows us to concatenate multiple tensors along a specified dimension. The dimension for concatenation can be any dimension, for example, 0 for concatenating along the 0th dimension, 1 for concatenating along the 1st dimension, and so on. Here is an example code [&hellip;]","og_url":"https:\/\/www.silicloud.com\/blog\/what-is-the-method-for-concatenating-two-models-in-pytorch\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-16T02:03:07+00:00","article_modified_time":"2024-03-22T02:10:43+00:00","author":"Noah Thompson","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Noah Thompson","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-method-for-concatenating-two-models-in-pytorch\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-method-for-concatenating-two-models-in-pytorch\/"},"author":{"name":"Noah Thompson","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/2e83cc6ab9f60d36921c2d0f9f280f4a"},"headline":"What is the method for concatenating two models in PyTorch?","datePublished":"2024-03-16T02:03:07+00:00","dateModified":"2024-03-22T02:10:43+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-method-for-concatenating-two-models-in-pytorch\/"},"wordCount":187,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-method-for-concatenating-two-models-in-pytorch\/","url":"https:\/\/www.silicloud.com\/blog\/what-is-the-method-for-concatenating-two-models-in-pytorch\/","name":"What is the method for concatenating two models in PyTorch? - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-16T02:03:07+00:00","dateModified":"2024-03-22T02:10:43+00:00","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-method-for-concatenating-two-models-in-pytorch\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/what-is-the-method-for-concatenating-two-models-in-pytorch\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-method-for-concatenating-two-models-in-pytorch\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"What is the method for concatenating two models in PyTorch?"}]},{"@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\/2e83cc6ab9f60d36921c2d0f9f280f4a","name":"Noah Thompson","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/350e537e1530ede2762ee0237e877d6693f4f7163ab4f303202cc9a6b27b6cb4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/350e537e1530ede2762ee0237e877d6693f4f7163ab4f303202cc9a6b27b6cb4?s=96&d=mm&r=g","caption":"Noah Thompson"},"url":"https:\/\/www.silicloud.com\/blog\/author\/noahthompson\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/23812","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\/14"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=23812"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/23812\/revisions"}],"predecessor-version":[{"id":57811,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/23812\/revisions\/57811"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=23812"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=23812"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=23812"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}