{"id":4828,"date":"2022-07-15T18:24:14","date_gmt":"2022-07-15T10:24:14","guid":{"rendered":"http:\/\/139.9.1.231\/?p=4828"},"modified":"2022-09-01T17:09:58","modified_gmt":"2022-09-01T09:09:58","slug":"pytorchte_dict","status":"publish","type":"post","link":"http:\/\/139.9.1.231\/index.php\/2022\/07\/15\/pytorchte_dict\/","title":{"rendered":"PyTorch\u4e2dmodel.modules(), model.named_modules(), model.children(), model.named_children(), model.parameters(), model.named_parameters(), model.state_dict()"},"content":{"rendered":"\n<p>\u672c\u6587\u901a\u8fc7\u4e00\u4e2a\u4f8b\u5b50\u5b9e\u9a8c\u6765\u89c2\u5bdf\u5e76\u8bb2\u89e3PyTorch\u4e2d<strong>model.modules(), model.named_modules(), model.children(), model.named_children(), model.parameters(), model.named_parameters(), model.state_dict()<\/strong>\u8fd9\u4e9bmodel\u5b9e\u4f8b\u65b9\u6cd5\u7684\u8fd4\u56de\u503c\u3002\u4f8b\u5b50\u5982\u4e0b\uff1a<em><\/em><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import torch \nimport torch.nn as nn \n\nclass Net(nn.Module):\n\n    def __init__(self, num_class=10):\n        super().__init__()\n        self.features = nn.Sequential(\n            nn.Conv2d(in_channels=3, out_channels=6, kernel_size=3),\n            nn.BatchNorm2d(6),\n            nn.ReLU(inplace=True),\n            nn.MaxPool2d(kernel_size=2, stride=2),\n            nn.Conv2d(in_channels=6, out_channels=9, kernel_size=3),\n            nn.BatchNorm2d(9),\n            nn.ReLU(inplace=True),\n            nn.MaxPool2d(kernel_size=2, stride=2)\n        )\n\n        self.classifier = nn.Sequential(\n            nn.Linear(9*8*8, 128),\n            nn.ReLU(inplace=True),\n            nn.Dropout(),\n            nn.Linear(128, num_class)\n        )\n\n    def forward(self, x):\n        output = self.features(x)\n        output = output.view(output.size()&#91;0], -1)\n        output = self.classifier(output)\n    \n        return output\n\nmodel = Net()\n<\/code><\/pre>\n\n\n\n<p>\u5982\u4e0a\u4ee3\u7801\u5b9a\u4e49\u4e86\u4e00\u4e2a\u7531\u4e24\u5c42\u5377\u79ef\u5c42\uff0c\u4e24\u5c42\u5168\u8fde\u63a5\u5c42\u7ec4\u6210\u7684\u7f51\u7edc\u6a21\u578b\u3002\u503c\u5f97\u6ce8\u610f\u7684\u662f\uff0c\u8fd9\u4e2aNet\u7531\u5916\u5230\u5185\u67093\u4e2a\u5c42\u6b21\uff1a<em><\/em><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Net:\n\n----features:\n\n------------Conv2d\n------------BatchNorm2d\n------------ReLU\n------------MaxPool2d\n------------Conv2d\n------------BatchNorm2d\n------------ReLU\n------------MaxPool2d\n\n----classifier:\n\n------------Linear\n------------ReLU\n------------Dropout\n------------Linear\n<\/code><\/pre>\n\n\n\n<p>\u7f51\u7edcNet\u672c\u8eab\u662f\u4e00\u4e2ann.Module\u7684\u5b50\u7c7b\uff0c\u5b83\u53c8\u5305\u542b\u4e86features\u548cclassifier\u4e24\u4e2a\u7531Sequential\u5bb9\u5668\u7ec4\u6210\u7684nn.Module\u5b50\u7c7b\uff0cfeatures\u548cclassifier\u5404\u81ea\u53c8\u5305\u542b\u4f17\u591a\u7684\u7f51\u7edc\u5c42\uff0c\u5b83\u4eec\u90fd\u5c5e\u4e8enn.Module\u5b50\u7c7b\uff0c\u6240\u4ee5\u4ece\u5916\u5230\u5185\u5171\u67093\u4e2a\u5c42\u6b21\u3002<br>\u4e0b\u9762\u6211\u4eec\u6765\u770b\u8fd9\u51e0\u4e2a\u5b9e\u4f8b\u65b9\u6cd5\u7684\u8fd4\u56de\u503c\u90fd\u662f\u4ec0\u4e48\u3002<em><\/em><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>In &#91;7]: model.named_modules()                                                                                                       \nOut&#91;7]: &lt;generator object Module.named_modules at 0x7f5db88f3840&gt;\n\nIn &#91;8]: model.modules()                                                         \nOut&#91;8]: &lt;generator object Module.modules at 0x7f5db3f53c00&gt;\n\nIn &#91;9]: model.children()                                                        \nOut&#91;9]: &lt;generator object Module.children at 0x7f5db3f53408&gt;\n\nIn &#91;10]: model.named_children()                                                 \nOut&#91;10]: &lt;generator object Module.named_children at 0x7f5db80305e8&gt;\n\nIn &#91;11]: model.parameters()                                                     \nOut&#91;11]: &lt;generator object Module.parameters at 0x7f5db3f534f8&gt;\n\nIn &#91;12]: model.named_parameters()                                               \nOut&#91;12]: &lt;generator object Module.named_parameters at 0x7f5d42da7570&gt;\n\nIn &#91;13]: model.state_dict()                                                     \nOut&#91;13]: \nOrderedDict(&#91;('features.0.weight', tensor(&#91;&#91;&#91;&#91; 0.1200, -0.1627, -0.0841],\n                        &#91;-0.1369, -0.1525,  0.0541],\n                        &#91; 0.1203,  0.0564,  0.0908]],\n                      \u2026\u2026\n          \n<\/code><\/pre>\n\n\n\n<p>\u53ef\u4ee5\u770b\u51fa\uff0c\u9664\u4e86model.state_dict()\u8fd4\u56de\u7684\u662f\u4e00\u4e2a\u5b57\u5178\uff0c\u5176\u4ed6\u51e0\u4e2a\u65b9\u6cd5\u8fd4\u56de\u503c\u90fd\u663e\u793a\u7684\u662f\u4e00\u4e2a\u751f\u6210\u5668\uff0c\u662f\u4e00\u4e2a\u53ef\u8fed\u4ee3\u53d8\u91cf\uff0c\u6211\u4eec\u901a\u8fc7\u5217\u8868\u63a8\u5bfc\u5f0f\u7528for\u5faa\u73af\u5c06\u8fd4\u56de\u503c\u53d6\u51fa\u6765\u8fdb\u4e00\u6b65\u8fdb\u884c\u89c2\u5bdf\uff1a<em><\/em><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>In &#91;14]: model_modules = &#91;x for x in model.modules()]                                                                                \n\nIn &#91;15]: model_named_modules = &#91;x for x in model.named_modules()]        \n\nIn &#91;16]: model_children = &#91;x for x in model.children()]                                                                              \n\nIn &#91;17]: model_named_children = &#91;x for x in model.named_children()]                                                                  \n\nIn &#91;18]: model_parameters = &#91;x for x in model.parameters()]                                                                          \n\nIn &#91;19]: model_named_parameters = &#91;x for x in model.named_parameters()]\n<\/code><\/pre>\n\n\n\n<h5>1. model.modules()<\/h5>\n\n\n\n<p>model.modules()\u8fed\u4ee3\u904d\u5386\u6a21\u578b\u7684\u6240\u6709\u5b50\u5c42\uff0c\u6240\u6709\u5b50\u5c42\u5373\u6307nn.Module\u5b50\u7c7b\uff0c\u5728\u672c\u6587\u7684\u4f8b\u5b50\u4e2d\uff0cNet(), features(), classifier(),\u4ee5\u53cann.xxx\u6784\u6210\u7684\u5377\u79ef\uff0c\u6c60\u5316\uff0cReLU, Linear, BN, Dropout\u7b49\u90fd\u662fnn.Module\u5b50\u7c7b\uff0c\u4e5f\u5c31\u662fmodel.modules()\u4f1a\u8fed\u4ee3\u7684\u904d\u5386\u5b83\u4eec\u6240\u6709\u5bf9\u8c61\u3002\u6211\u4eec\u770b\u4e00\u4e0b\u5217\u8868model_modules:<em><\/em><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>In &#91;20]: model_modules                                                                                                               \nOut&#91;20]: \n&#91;Net(\n   (features): Sequential(\n     (0): Conv2d(3, 6, kernel_size=(3, 3), stride=(1, 1))\n     (1): BatchNorm2d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n     (2): ReLU(inplace)\n     (3): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)\n     (4): Conv2d(6, 9, kernel_size=(3, 3), stride=(1, 1))\n     (5): BatchNorm2d(9, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n     (6): ReLU(inplace)\n     (7): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)\n   )\n   (classifier): Sequential(\n     (0): Linear(in_features=576, out_features=128, bias=True)\n     (1): ReLU(inplace)\n     (2): Dropout(p=0.5)\n     (3): Linear(in_features=128, out_features=10, bias=True)\n   )\n ), \nSequential(\n   (0): Conv2d(3, 6, kernel_size=(3, 3), stride=(1, 1))\n   (1): BatchNorm2d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n   (2): ReLU(inplace)\n   (3): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)\n   (4): Conv2d(6, 9, kernel_size=(3, 3), stride=(1, 1))\n   (5): BatchNorm2d(9, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n   (6): ReLU(inplace)\n   (7): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)\n ), \nConv2d(3, 6, kernel_size=(3, 3), stride=(1, 1)), \nBatchNorm2d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True), \nReLU(inplace), \nMaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False), \nConv2d(6, 9, kernel_size=(3, 3), stride=(1, 1)), \nBatchNorm2d(9, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True), \nReLU(inplace), \nMaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False), \nSequential(\n   (0): Linear(in_features=576, out_features=128, bias=True)\n   (1): ReLU(inplace)\n   (2): Dropout(p=0.5)\n   (3): Linear(in_features=128, out_features=10, bias=True)\n ), \nLinear(in_features=576, out_features=128, bias=True), \nReLU(inplace), \nDropout(p=0.5), \nLinear(in_features=128, out_features=10, bias=True)]\n\nIn &#91;21]: len(model_modules)                                                                                                          \nOut&#91;21]: 15\n\n<\/code><\/pre>\n\n\n\n<p>\u53ef\u4ee5\u770b\u51fa\uff0cmodel_modules\u5217\u8868\u4e2d\u5171\u670915\u4e2a\u5143\u7d20\uff0c\u9996\u5148\u662f\u6574\u4e2aNet\uff0c\u7136\u540e\u904d\u5386\u4e86Net\u4e0b\u7684features\u5b50\u5c42\uff0c\u8fdb\u4e00\u6b65\u904d\u5386\u4e86feature\u4e0b\u7684\u6240\u6709\u5c42\uff0c\u7136\u540e\u53c8\u904d\u5386\u4e86classifier\u5b50\u5c42\u4ee5\u53ca\u5176\u4e0b\u7684\u6240\u6709\u5c42\u3002\u6240\u4ee5\u8bf4model.modules()\u80fd\u591f\u8fed\u4ee3\u5730\u904d\u5386\u6a21\u578b\u7684\u6240\u6709\u5b50\u5c42\u3002<\/p>\n\n\n\n<h5>2. model.named_modules()<\/h5>\n\n\n\n<p>\u987e\u540d\u601d\u4e49\uff0c\u5b83\u5c31\u662f\u6709\u540d\u5b57\u7684model.modules()\u3002model.named_modules()\u4e0d\u4f46\u8fd4\u56de\u6a21\u578b\u7684\u6240\u6709\u5b50\u5c42\uff0c\u8fd8\u4f1a\u8fd4\u56de\u8fd9\u4e9b\u5c42\u7684\u540d\u5b57\uff1a<em><\/em><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>In &#91;28]: len(model_named_modules)                                                                                                    \nOut&#91;28]: 15\n\nIn &#91;29]: model_named_modules                                                                                                         \nOut&#91;29]: \n&#91;('', Net(\n    (features): Sequential(\n      (0): Conv2d(3, 6, kernel_size=(3, 3), stride=(1, 1))\n      (1): BatchNorm2d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n      (2): ReLU(inplace)\n      (3): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)\n      (4): Conv2d(6, 9, kernel_size=(3, 3), stride=(1, 1))\n      (5): BatchNorm2d(9, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n      (6): ReLU(inplace)\n      (7): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)\n    )\n    (classifier): Sequential(\n      (0): Linear(in_features=576, out_features=128, bias=True)\n      (1): ReLU(inplace)\n      (2): Dropout(p=0.5)\n      (3): Linear(in_features=128, out_features=10, bias=True)\n    )\n  )), \n('features', Sequential(\n    (0): Conv2d(3, 6, kernel_size=(3, 3), stride=(1, 1))\n    (1): BatchNorm2d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n    (2): ReLU(inplace)\n    (3): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)\n    (4): Conv2d(6, 9, kernel_size=(3, 3), stride=(1, 1))\n    (5): BatchNorm2d(9, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n    (6): ReLU(inplace)\n    (7): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)\n  )), \n('features.0', Conv2d(3, 6, kernel_size=(3, 3), stride=(1, 1))), \n('features.1', BatchNorm2d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)), ('features.2', ReLU(inplace)), \n('features.3', MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)), \n('features.4', Conv2d(6, 9, kernel_size=(3, 3), stride=(1, 1))), \n('features.5', BatchNorm2d(9, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)), ('features.6', ReLU(inplace)), \n('features.7', MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)), \n('classifier',\n  Sequential(\n    (0): Linear(in_features=576, out_features=128, bias=True)\n    (1): ReLU(inplace)\n    (2): Dropout(p=0.5)\n    (3): Linear(in_features=128, out_features=10, bias=True)\n  )), \n('classifier.0', Linear(in_features=576, out_features=128, bias=True)), \n('classifier.1', ReLU(inplace)), \n('classifier.2', Dropout(p=0.5)), \n('classifier.3', Linear(in_features=128, out_features=10, bias=True))]\n\n<\/code><\/pre>\n\n\n\n<p>\u53ef\u4ee5\u770b\u51fa\uff0cmodel.named_modules()\u4e5f\u904d\u5386\u4e8615\u4e2a\u5143\u7d20\uff0c\u4f46\u6bcf\u4e2a\u5143\u7d20\u90fd\u6709\u4e86\u81ea\u5df1\u7684\u540d\u5b57\uff0c\u4ece\u540d\u5b57\u53ef\u4ee5\u770b\u51fa\uff0c\u9664\u4e86\u5728\u6a21\u578b\u5b9a\u4e49\u65f6\u6709\u547d\u540d\u7684features\u548cclassifier\uff0c\u5176\u5b83\u5c42\u7684\u540d\u5b57\u90fd\u662fPyTorch\u5185\u90e8\u6309\u4e00\u5b9a\u89c4\u5219\u81ea\u52a8\u547d\u540d\u7684\u3002\u8fd4\u56de\u5c42\u4ee5\u53ca\u5c42\u7684\u540d\u5b57\u7684\u597d\u5904\u662f\u53ef\u4ee5\u6309\u540d\u5b57\u901a\u8fc7\u8fed\u4ee3\u7684\u65b9\u6cd5\u4fee\u6539\u7279\u5b9a\u7684\u5c42\uff0c\u5982\u679c\u5728\u6a21\u578b\u5b9a\u4e49\u7684\u65f6\u5019\u5c31\u7ed9\u6bcf\u4e2a\u5c42\u8d77\u4e86\u540d\u5b57\uff0c\u6bd4\u5982\u5377\u79ef\u5c42\u90fd\u662fconv1,conv2&#8230;\u7684\u5f62\u5f0f\uff0c\u90a3\u4e48\u6211\u4eec\u53ef\u4ee5\u8fd9\u6837\u5904\u7406\uff1a<em><\/em><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>for name, layer in model.named_modules():\n    if 'conv' in name:\n        \u5bf9layer\u8fdb\u884c\u5904\u7406\n<\/code><\/pre>\n\n\n\n<p>\u5f53\u7136\uff0c\u5728\u6ca1\u6709\u8fd4\u56de\u540d\u5b57\u7684\u60c5\u5f62\u4e2d\uff0c\u91c7\u7528isinstance()\u51fd\u6570\u4e5f\u53ef\u4ee5\u5b8c\u6210\u4e0a\u8ff0\u64cd\u4f5c\uff1a<em><\/em><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>for layer in model.modules():\n    if isinstance(layer, nn.Conv2d):\n        \u5bf9layer\u8fdb\u884c\u5904\u7406\n<\/code><\/pre>\n\n\n\n<h5>3. model.children()<\/h5>\n\n\n\n<p>\u5982\u679c\u628a\u8fd9\u4e2a\u7f51\u7edc\u6a21\u578bNet\u6309\u5c42\u6b21\u4ece\u5916\u5230\u5185\u8fdb\u884c\u5212\u5206\u7684\u8bdd\uff0cfeatures\u548cclassifier\u662fNet\u7684\u5b50\u5c42\uff0c\u800cconv2d, ReLU, BatchNorm, Maxpool2d\u8fd9\u4e9b\u6709\u65f6features\u7684\u5b50\u5c42\uff0c Linear, Dropout, ReLU\u7b49\u662fclassifier\u7684\u5b50\u5c42\uff0c\u4e0a\u9762\u7684model.modules()\u4e0d\u4f46\u4f1a\u904d\u5386\u6a21\u578b\u7684\u5b50\u5c42\uff0c\u8fd8\u4f1a\u904d\u5386\u5b50\u5c42\u7684\u5b50\u5c42\uff0c\u4ee5\u53ca\u6240\u6709\u5b50\u5c42\u3002<br>\u800cmodel.children()\u53ea\u4f1a\u904d\u5386\u6a21\u578b\u7684\u5b50\u5c42\uff0c\u8fd9\u91cc\u5373\u662ffeatures\u548cclassifier\u3002<em><\/em><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>In &#91;22]: len(model_children)                                                                                                         \nOut&#91;22]: 2\n\nIn &#91;22]: model_children                                                                                                              \nOut&#91;22]: \n&#91;Sequential(\n   (0): Conv2d(3, 6, kernel_size=(3, 3), stride=(1, 1))\n   (1): BatchNorm2d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n   (2): ReLU(inplace)\n   (3): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)\n   (4): Conv2d(6, 9, kernel_size=(3, 3), stride=(1, 1))\n   (5): BatchNorm2d(9, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n   (6): ReLU(inplace)\n   (7): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)\n ), \nSequential(\n   (0): Linear(in_features=576, out_features=128, bias=True)\n   (1): ReLU(inplace)\n   (2): Dropout(p=0.5)\n   (3): Linear(in_features=128, out_features=10, bias=True)\n )]\n\n<\/code><\/pre>\n\n\n\n<p>\u53ef\u4ee5\u770b\u51fa\uff0c\u5b83\u53ea\u904d\u5386\u4e86\u4e24\u4e2a\u5143\u7d20\uff0c\u5373features\u548cclassifier\u3002<\/p>\n\n\n\n<h5>4. model.named_children()<\/h5>\n\n\n\n<p>model.named_children()\u5c31\u662f\u5e26\u540d\u5b57\u7684model.children(), \u76f8\u6bd4model.children()\uff0c model.named_children()\u4e0d\u4f46\u8fed\u4ee3\u7684\u904d\u5386\u6a21\u578b\u7684\u5b50\u5c42\uff0c\u8fd8\u4f1a\u8fd4\u56de\u5b50\u5c42\u7684\u540d\u5b57\uff1a<em><\/em><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>In &#91;23]: len(model_named_children)                                                                                                   \nOut&#91;23]: 2\n\nIn &#91;24]: model_named_children                                                                                                        \nOut&#91;24]: \n&#91;('features', Sequential(\n    (0): Conv2d(3, 6, kernel_size=(3, 3), stride=(1, 1))\n    (1): BatchNorm2d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n    (2): ReLU(inplace)\n    (3): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)\n    (4): Conv2d(6, 9, kernel_size=(3, 3), stride=(1, 1))\n    (5): BatchNorm2d(9, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n    (6): ReLU(inplace)\n    (7): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)\n  )), \n('classifier', Sequential(\n    (0): Linear(in_features=576, out_features=128, bias=True)\n    (1): ReLU(inplace)\n    (2): Dropout(p=0.5)\n    (3): Linear(in_features=128, out_features=10, bias=True)\n  ))]\n\n<\/code><\/pre>\n\n\n\n<p>\u5bf9\u6bd4\u4e0a\u9762\u7684model.children(), \u8fd9\u91cc\u7684model.named_children()\u8fd8\u8fd4\u56de\u4e86\u4e24\u4e2a\u5b50\u5c42\u7684\u540d\u79f0\uff1afeatures \u548c classifier .<\/p>\n\n\n\n<h5>5. model.parameters()<\/h5>\n\n\n\n<p>\u8fed\u4ee3\u5730\u8fd4\u56de\u6a21\u578b\u7684\u6240\u6709\u53c2\u6570\u3002<em><\/em><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>In &#91;30]: len(model_parameters)                                                                                                       \nOut&#91;30]: 12\n\nIn &#91;31]: model_parameters                                                                                                            \nOut&#91;31]: \n&#91;Parameter containing:\n tensor(&#91;&#91;&#91;&#91; 0.1200, -0.1627, -0.0841],\n           &#91;-0.1369, -0.1525,  0.0541],\n           &#91; 0.1203,  0.0564,  0.0908]],\n           \u2026\u2026\n          &#91;&#91;-0.1587,  0.0735, -0.0066],\n           &#91; 0.0210,  0.0257, -0.0838],\n           &#91;-0.1797,  0.0675,  0.1282]]]], requires_grad=True),\n Parameter containing:\n tensor(&#91;-0.1251,  0.1673,  0.1241, -0.1876,  0.0683,  0.0346],\n        requires_grad=True),\n Parameter containing:\n tensor(&#91;0.0072, 0.0272, 0.8620, 0.0633, 0.9411, 0.2971], requires_grad=True),\n Parameter containing:\n tensor(&#91;0., 0., 0., 0., 0., 0.], requires_grad=True),\n Parameter containing:\n tensor(&#91;&#91;&#91;&#91; 0.0632, -0.1078, -0.0800],\n           &#91;-0.0488,  0.0167,  0.0473],\n           &#91;-0.0743,  0.0469, -0.1214]],\n           \u2026\u2026 \n          &#91;&#91;-0.1067, -0.0851,  0.0498],\n           &#91;-0.0695,  0.0380, -0.0289],\n           &#91;-0.0700,  0.0969, -0.0557]]]], requires_grad=True),\n Parameter containing:\n tensor(&#91;-0.0608,  0.0154,  0.0231,  0.0886, -0.0577,  0.0658, -0.1135, -0.0221,\n          0.0991], requires_grad=True),\n Parameter containing:\n tensor(&#91;0.2514, 0.1924, 0.9139, 0.8075, 0.6851, 0.4522, 0.5963, 0.8135, 0.4010],\n        requires_grad=True),\n Parameter containing:\n tensor(&#91;0., 0., 0., 0., 0., 0., 0., 0., 0.], requires_grad=True),\n Parameter containing:\n tensor(&#91;&#91; 0.0223,  0.0079, -0.0332,  ..., -0.0394,  0.0291,  0.0068],\n         &#91; 0.0037, -0.0079,  0.0011,  ..., -0.0277, -0.0273,  0.0009],\n         &#91; 0.0150, -0.0110,  0.0319,  ..., -0.0110, -0.0072, -0.0333],\n         ...,\n         &#91;-0.0274, -0.0296, -0.0156,  ...,  0.0359, -0.0303, -0.0114],\n         &#91; 0.0222,  0.0243, -0.0115,  ...,  0.0369, -0.0347,  0.0291],\n         &#91; 0.0045,  0.0156,  0.0281,  ..., -0.0348, -0.0370, -0.0152]],\n        requires_grad=True),\n Parameter containing:\n tensor(&#91; 0.0072, -0.0399, -0.0138,  0.0062, -0.0099, -0.0006, -0.0142, -0.0337,\n          \u2026\u2026\n         -0.0370, -0.0121, -0.0348, -0.0200, -0.0285,  0.0367,  0.0050, -0.0166],\n        requires_grad=True),\n Parameter containing:\n tensor(&#91;&#91;-0.0130,  0.0301,  0.0721,  ..., -0.0634,  0.0325, -0.0830],\n         &#91;-0.0086, -0.0374, -0.0281,  ..., -0.0543,  0.0105,  0.0822],\n         &#91;-0.0305,  0.0047, -0.0090,  ...,  0.0370, -0.0187,  0.0824],\n         ...,\n         &#91; 0.0529, -0.0236,  0.0219,  ...,  0.0250,  0.0620, -0.0446],\n         &#91; 0.0077, -0.0576,  0.0600,  ..., -0.0412, -0.0290,  0.0103],\n         &#91; 0.0375, -0.0147,  0.0622,  ...,  0.0350,  0.0179,  0.0667]],\n        requires_grad=True),\n Parameter containing:\n tensor(&#91;-0.0709, -0.0675, -0.0492,  0.0694,  0.0390, -0.0861, -0.0427, -0.0638,\n         -0.0123,  0.0845], requires_grad=True)]\n\n<\/code><\/pre>\n\n\n\n<h5>6. model.named_parameters()<\/h5>\n\n\n\n<p>\u5982\u679c\u4f60\u662f\u4ece\u524d\u9762\u770b\u8fc7\u6765\u7684\uff0c\u5c31\u4f1a\u77e5\u9053\uff0c\u8fd9\u91cc\u5c31\u662f\u8fed\u4ee3\u7684\u8fd4\u56de\u5e26\u6709\u540d\u5b57\u7684\u53c2\u6570\uff0c\u4f1a\u7ed9\u6bcf\u4e2a\u53c2\u6570\u52a0\u4e0a\u5e26\u6709 .weight\u6216 .bias\u7684\u540d\u5b57\u4ee5\u533a\u5206\u6743\u91cd\u548c\u504f\u7f6e\uff1a<em><\/em><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>In &#91;32]: len(model.named_parameters)                                                                                                 \nOut&#91;32]: 12\n\nIn &#91;33]: model_named_parameters                                                                                                      \nOut&#91;33]: \n&#91;('features.0.weight', Parameter containing:\n  tensor(&#91;&#91;&#91;&#91; 0.1200, -0.1627, -0.0841],\n            &#91;-0.1369, -0.1525,  0.0541],\n            &#91; 0.1203,  0.0564,  0.0908]],\n           \u2026\u2026\n           &#91;&#91;-0.1587,  0.0735, -0.0066],\n            &#91; 0.0210,  0.0257, -0.0838],\n            &#91;-0.1797,  0.0675,  0.1282]]]], requires_grad=True)),\n ('features.0.bias', Parameter containing:\n  tensor(&#91;-0.1251,  0.1673,  0.1241, -0.1876,  0.0683,  0.0346],\n         requires_grad=True)),\n ('features.1.weight', Parameter containing:\n  tensor(&#91;0.0072, 0.0272, 0.8620, 0.0633, 0.9411, 0.2971], requires_grad=True)),\n ('features.1.bias', Parameter containing:\n  tensor(&#91;0., 0., 0., 0., 0., 0.], requires_grad=True)),\n ('features.4.weight', Parameter containing:\n  tensor(&#91;&#91;&#91;&#91; 0.0632, -0.1078, -0.0800],\n            &#91;-0.0488,  0.0167,  0.0473],\n            &#91;-0.0743,  0.0469, -0.1214]],\n           \u2026\u2026\n           &#91;&#91;-0.1067, -0.0851,  0.0498],\n            &#91;-0.0695,  0.0380, -0.0289],\n            &#91;-0.0700,  0.0969, -0.0557]]]], requires_grad=True)),\n ('features.4.bias', Parameter containing:\n  tensor(&#91;-0.0608,  0.0154,  0.0231,  0.0886, -0.0577,  0.0658, -0.1135, -0.0221,\n           0.0991], requires_grad=True)),\n ('features.5.weight', Parameter containing:\n  tensor(&#91;0.2514, 0.1924, 0.9139, 0.8075, 0.6851, 0.4522, 0.5963, 0.8135, 0.4010],\n         requires_grad=True)),\n ('features.5.bias', Parameter containing:\n  tensor(&#91;0., 0., 0., 0., 0., 0., 0., 0., 0.], requires_grad=True)),\n ('classifier.0.weight', Parameter containing:\n  tensor(&#91;&#91; 0.0223,  0.0079, -0.0332,  ..., -0.0394,  0.0291,  0.0068],\n          \u2026\u2026\n          &#91; 0.0045,  0.0156,  0.0281,  ..., -0.0348, -0.0370, -0.0152]],\n         requires_grad=True)),\n ('classifier.0.bias', Parameter containing:\n  tensor(&#91; 0.0072, -0.0399, -0.0138,  0.0062, -0.0099, -0.0006, -0.0142, -0.0337,\n           \u2026\u2026\n          -0.0370, -0.0121, -0.0348, -0.0200, -0.0285,  0.0367,  0.0050, -0.0166],\n         requires_grad=True)),\n ('classifier.3.weight', Parameter containing:\n  tensor(&#91;&#91;-0.0130,  0.0301,  0.0721,  ..., -0.0634,  0.0325, -0.0830],\n          &#91;-0.0086, -0.0374, -0.0281,  ..., -0.0543,  0.0105,  0.0822],\n          &#91;-0.0305,  0.0047, -0.0090,  ...,  0.0370, -0.0187,  0.0824],\n          ...,\n          &#91; 0.0529, -0.0236,  0.0219,  ...,  0.0250,  0.0620, -0.0446],\n          &#91; 0.0077, -0.0576,  0.0600,  ..., -0.0412, -0.0290,  0.0103],\n          &#91; 0.0375, -0.0147,  0.0622,  ...,  0.0350,  0.0179,  0.0667]],\n         requires_grad=True)),\n ('classifier.3.bias', Parameter containing:\n  tensor(&#91;-0.0709, -0.0675, -0.0492,  0.0694,  0.0390, -0.0861, -0.0427, -0.0638,\n          -0.0123,  0.0845], requires_grad=True))]\n\n<\/code><\/pre>\n\n\n\n<h5>7. model.state_dict()<\/h5>\n\n\n\n<p>model.state_dict()\u76f4\u63a5\u8fd4\u56de\u6a21\u578b\u7684\u5b57\u5178\uff0c\u548c\u524d\u9762\u51e0\u4e2a\u65b9\u6cd5\u4e0d\u540c\u7684\u662f\u8fd9\u91cc\u4e0d\u9700\u8981\u8fed\u4ee3\uff0c\u5b83\u672c\u8eab\u5c31\u662f\u4e00\u4e2a\u5b57\u5178\uff0c\u53ef\u4ee5\u76f4\u63a5\u901a\u8fc7\u4fee\u6539state_dict\u6765\u4fee\u6539\u6a21\u578b\u5404\u5c42\u7684\u53c2\u6570\uff0c\u7528\u4e8e\u53c2\u6570\u526a\u679d\u7279\u522b\u65b9\u4fbf\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u672c\u6587\u901a\u8fc7\u4e00\u4e2a\u4f8b\u5b50\u5b9e\u9a8c\u6765\u89c2\u5bdf\u5e76\u8bb2\u89e3PyTorch\u4e2dmodel.modules(), model.named_mo &hellip; <a href=\"http:\/\/139.9.1.231\/index.php\/2022\/07\/15\/pytorchte_dict\/\" class=\"more-link\">\u7ee7\u7eed\u9605\u8bfb<span class=\"screen-reader-text\">PyTorch\u4e2dmodel.modules(), model.named_modules(), model.children(), model.named_children(), model.parameters(), model.named_parameters(), model.state_dict()<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[8,11],"tags":[],"_links":{"self":[{"href":"http:\/\/139.9.1.231\/index.php\/wp-json\/wp\/v2\/posts\/4828"}],"collection":[{"href":"http:\/\/139.9.1.231\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/139.9.1.231\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/139.9.1.231\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/139.9.1.231\/index.php\/wp-json\/wp\/v2\/comments?post=4828"}],"version-history":[{"count":4,"href":"http:\/\/139.9.1.231\/index.php\/wp-json\/wp\/v2\/posts\/4828\/revisions"}],"predecessor-version":[{"id":7057,"href":"http:\/\/139.9.1.231\/index.php\/wp-json\/wp\/v2\/posts\/4828\/revisions\/7057"}],"wp:attachment":[{"href":"http:\/\/139.9.1.231\/index.php\/wp-json\/wp\/v2\/media?parent=4828"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/139.9.1.231\/index.php\/wp-json\/wp\/v2\/categories?post=4828"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/139.9.1.231\/index.php\/wp-json\/wp\/v2\/tags?post=4828"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}