{"id":21977,"date":"2024-03-15T22:51:36","date_gmt":"2024-03-15T22:51:36","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-use-dropout-in-pytorch\/"},"modified":"2024-03-21T21:46:24","modified_gmt":"2024-03-21T21:46:24","slug":"how-to-use-dropout-in-pytorch","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-use-dropout-in-pytorch\/","title":{"rendered":"How to use dropout in PyTorch?"},"content":{"rendered":"<p>In PyTorch, Dropout can be implemented using torch.nn.Dropout. Dropout is a commonly used regularization method that randomly sets some neurons&#8217; outputs to zero during training to prevent overfitting.<\/p>\n<p>Here is an example code using Dropout:<\/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\u4e00\u4e2a\u7b80\u5355\u7684\u795e\u7ecf\u7f51\u7edc<\/span>\r\n<span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">Net<\/span>(nn.Module):\r\n    <span class=\"hljs-keyword\">def<\/span> <span class=\"hljs-title function_\">__init__<\/span>(<span class=\"hljs-params\">self<\/span>):\r\n        <span class=\"hljs-built_in\">super<\/span>(Net, self).__init__()\r\n        self.fc1 = nn.Linear(<span class=\"hljs-number\">10<\/span>, <span class=\"hljs-number\">20<\/span>)\r\n        self.dropout = nn.Dropout(p=<span class=\"hljs-number\">0.5<\/span>)  <span class=\"hljs-comment\"># \u5b9a\u4e49\u4e00\u4e2aDropout\u5c42<\/span>\r\n        self.fc2 = nn.Linear(<span class=\"hljs-number\">20<\/span>, <span class=\"hljs-number\">2<\/span>)\r\n\r\n    <span class=\"hljs-keyword\">def<\/span> <span class=\"hljs-title function_\">forward<\/span>(<span class=\"hljs-params\">self, x<\/span>):\r\n        x = self.fc1(x)\r\n        x = self.dropout(x)  <span class=\"hljs-comment\"># \u5728\u4e2d\u95f4\u5c42\u5e94\u7528Dropout<\/span>\r\n        x = torch.relu(x)\r\n        x = self.fc2(x)\r\n        <span class=\"hljs-keyword\">return<\/span> x\r\n\r\n<span class=\"hljs-comment\"># \u521b\u5efa\u4e00\u4e2a\u8f93\u5165\u6570\u636e\u7684\u793a\u4f8b<\/span>\r\nx = torch.randn(<span class=\"hljs-number\">1<\/span>, <span class=\"hljs-number\">10<\/span>)\r\n\r\n<span class=\"hljs-comment\"># \u521b\u5efa\u7f51\u7edc\u5b9e\u4f8b<\/span>\r\nnet = Net()\r\n\r\n<span class=\"hljs-comment\"># \u5c06\u7f51\u7edc\u8bbe\u4e3a\u8bad\u7ec3\u6a21\u5f0f<\/span>\r\nnet.train()\r\n\r\n<span class=\"hljs-comment\"># \u524d\u5411\u4f20\u64ad<\/span>\r\noutput = net(x)\r\n\r\n<span class=\"hljs-comment\"># \u8f93\u51fa\u7ed3\u679c<\/span>\r\n<span class=\"hljs-built_in\">print<\/span>(output)\r\n<\/code><\/pre>\n<p>In the above example, we first defined a simple neural network class called Net, which includes an input layer, a Dropout layer, and an output layer. In the forward method, we pass the input data through the layers of the network, applying the Dropout operation in the middle layer. Next, we created an example input data x and created an instance of the network called net. When performing forward propagation calculations, we need to set the network to training mode by calling net.train(), so that the Dropout operation is applied in this mode. Finally, we output the network&#8217;s output result.<\/p>\n<p>It is important to note that Dropout should only be applied during the training phase and not during testing. This means calling net.eval() in order to obtain more stable output results during testing.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In PyTorch, Dropout can be implemented using torch.nn.Dropout. Dropout is a commonly used regularization method that randomly sets some neurons&#8217; outputs to zero during training to prevent overfitting. Here is an example code using Dropout: import torch import torch.nn as nn # \u5b9a\u4e49\u4e00\u4e2a\u7b80\u5355\u7684\u795e\u7ecf\u7f51\u7edc class Net(nn.Module): def __init__(self): super(Net, self).__init__() self.fc1 = nn.Linear(10, 20) self.dropout = [&hellip;]<\/p>\n","protected":false},"author":5,"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-21977","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>How to use dropout 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\/how-to-use-dropout-in-pytorch\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to use dropout in PyTorch?\" \/>\n<meta property=\"og:description\" content=\"In PyTorch, Dropout can be implemented using torch.nn.Dropout. Dropout is a commonly used regularization method that randomly sets some neurons&#8217; outputs to zero during training to prevent overfitting. Here is an example code using Dropout: import torch import torch.nn as nn # \u5b9a\u4e49\u4e00\u4e2a\u7b80\u5355\u7684\u795e\u7ecf\u7f51\u7edc class Net(nn.Module): def __init__(self): super(Net, self).__init__() self.fc1 = nn.Linear(10, 20) self.dropout = [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-use-dropout-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-15T22:51:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-21T21:46:24+00:00\" \/>\n<meta name=\"author\" content=\"Emily Johnson\" \/>\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=\"Emily Johnson\" \/>\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-to-use-dropout-in-pytorch\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-dropout-in-pytorch\/\"},\"author\":{\"name\":\"Emily Johnson\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3b041b19cffc258705478ecfab895378\"},\"headline\":\"How to use dropout in PyTorch?\",\"datePublished\":\"2024-03-15T22:51:36+00:00\",\"dateModified\":\"2024-03-21T21:46:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-dropout-in-pytorch\/\"},\"wordCount\":179,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-dropout-in-pytorch\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-dropout-in-pytorch\/\",\"name\":\"How to use dropout in PyTorch? - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-15T22:51:36+00:00\",\"dateModified\":\"2024-03-21T21:46:24+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-dropout-in-pytorch\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-use-dropout-in-pytorch\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-dropout-in-pytorch\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to use dropout 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\/3b041b19cffc258705478ecfab895378\",\"name\":\"Emily Johnson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a5cb4e73d02ab1d79f2dfe919389ff7c1de072baa97686392031c03d858cc358?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a5cb4e73d02ab1d79f2dfe919389ff7c1de072baa97686392031c03d858cc358?s=96&d=mm&r=g\",\"caption\":\"Emily Johnson\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/emilyjohnson\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to use dropout 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\/how-to-use-dropout-in-pytorch\/","og_locale":"en_US","og_type":"article","og_title":"How to use dropout in PyTorch?","og_description":"In PyTorch, Dropout can be implemented using torch.nn.Dropout. Dropout is a commonly used regularization method that randomly sets some neurons&#8217; outputs to zero during training to prevent overfitting. Here is an example code using Dropout: import torch import torch.nn as nn # \u5b9a\u4e49\u4e00\u4e2a\u7b80\u5355\u7684\u795e\u7ecf\u7f51\u7edc class Net(nn.Module): def __init__(self): super(Net, self).__init__() self.fc1 = nn.Linear(10, 20) self.dropout = [&hellip;]","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-use-dropout-in-pytorch\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-15T22:51:36+00:00","article_modified_time":"2024-03-21T21:46:24+00:00","author":"Emily Johnson","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Emily Johnson","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-dropout-in-pytorch\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-dropout-in-pytorch\/"},"author":{"name":"Emily Johnson","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3b041b19cffc258705478ecfab895378"},"headline":"How to use dropout in PyTorch?","datePublished":"2024-03-15T22:51:36+00:00","dateModified":"2024-03-21T21:46:24+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-dropout-in-pytorch\/"},"wordCount":179,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-dropout-in-pytorch\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-use-dropout-in-pytorch\/","name":"How to use dropout in PyTorch? - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-15T22:51:36+00:00","dateModified":"2024-03-21T21:46:24+00:00","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-dropout-in-pytorch\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-use-dropout-in-pytorch\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-dropout-in-pytorch\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to use dropout 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\/3b041b19cffc258705478ecfab895378","name":"Emily Johnson","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/a5cb4e73d02ab1d79f2dfe919389ff7c1de072baa97686392031c03d858cc358?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a5cb4e73d02ab1d79f2dfe919389ff7c1de072baa97686392031c03d858cc358?s=96&d=mm&r=g","caption":"Emily Johnson"},"url":"https:\/\/www.silicloud.com\/blog\/author\/emilyjohnson\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/21977","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\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=21977"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/21977\/revisions"}],"predecessor-version":[{"id":55869,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/21977\/revisions\/55869"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=21977"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=21977"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=21977"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}