如何在Pytorch中操作统计模型参数量

  介绍

本篇文章为大家展示了如何在Pytorch中操作统计模型参数量,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

param.numel ()

返回参数中元素的数量

如何在Pytorch中操作统计模型参数量

统计模型参数量

num_params =,总和(param.numel (), for  param 拷贝net.parameters ())   打印(num_params)

<强>补充:Pytorch查看模型参数

Pytorch查看模型参数

查看利用Pytorch搭建模型的参数,直接看程序

import 火炬   #,引入torch.nn并指定别名   import  torch.nn  as 神经网络   import  torch.nn.functional  as  F      class 净(nn.Module):   ,,,def  __init__(自我):   ,,,,,,,#,nn.Module子类的函数必须在构造函数中执行父类的构造函数   ,,,,,,,超级(净,,自我). __init__ ()   ,,,,,,,   ,,,,,,,#,卷积层,& # 39;1 & # 39;表示输入图片为单通道,,& # 39;6 & # 39;表示输出通道数,& # 39;3 & # 39;表示卷积核为3 * 3   ,,,,,,,self.conv1 =, nn.Conv2d(1), 6日,3),   ,,,,,,,#线性层,输入1350个特征,输出10个特征   ,,,,,,,self.fc1 ,,=, nn.Linear(1350, 10),, #这里的1350是如何计算的呢?这就要看后面向前的函数   ,,,#正向传播,   ,,,def 向前(自我,,x):,   ,,,,,,,印刷(x.size()), #,结果:[1,,1,,32岁,32)   ,,,,,,,#,卷积,→,激活,→,池化,   ,,,,,,,x =, self.conv1 (x), #根据卷积的尺寸计算公式,计算结果是30,具体计算公式后面第二张第四节,卷积神经网络,有详细介绍。   ,,,,,,,x =, F.relu (x)   ,,,,,,,印刷(x.size()), #,结果:[1,6日,30日,30)   ,,,,,,,x =, F.max_pool2d (x),(2, 2)), #我们使用池化层,计算结果是15   ,,,,,,,x =, F.relu (x)   ,,,,,,,印刷(x.size()), #,结果:[1,6日,15日,15)   ,,,,,,,#,重塑,1 & # 39;表示自适应   ,,,,,,,#这里做的就是压扁的操作,就是把后面的[1,6日,15日,15)压扁,变为,(1),1350年)   ,,,,,,,x =, x.view (x.size () [0], 1),   ,,,,,,,印刷(x.size()), #,这里就是fc1层的的输入1350,   ,,,,,,,x =, self.fc1 (x),,,,,,,,   ,,,,,,,return  x      net =,净() for  parameters 拷贝net.parameters ():   ,,,印刷(参数)

输出为:

参数包含:
张量([[[(-0.0104,-0.0555,0.1417),
(-0.3281, -0.0367, 0.0208),
[-0.0894, -0.0511, -0.1253]]],


[[(-0.1724, 0.2141, -0.0895),
(0.0116, 0.1661, -0.1853),
[-0.1190, 0.1292, -0.2451]]],


[[(0.1827, 0.0117, 0.2880),
(0.2412, -0.1699, 0.0620),
[0.2853, -0.2794, -0.3050]]],


[[(0.1930, 0.2687, -0.0728),
(-0.2812, 0.0301, -0.1130),
[-0.2251, -0.3170, 0.0148]]],


[[(-0.2770, 0.2928, -0.0875),
(0.0489, -0.2463, -0.1605),
[0.1659, -0.1523, 0.1819]]],


[[(0.1068, 0.2441, 0.3160),
(0.2945, 0.0897, 0.2978),
[0.0419, -0.0739, -0.2609]]]])
参数包含:
张量((0.0782,0.2679,-0.2516,-0.2716,-0.0084,0.1401])
参数包含:
张量([[1.8612 e-02, 6.5482 e 03, 1.6488 e-02,…-1.3283 e-02 e-02
1.8715, 5.4037 e 03],
[e-02 e-02 1.8569 e 03, 1.8022, -2.3465,……1.6527 e 03 e-02
2.0443, -2.2009 e-02],
[9.9104 e 03, 6.6134 e 03, -2.7171 e-02,…-5.7119 e 03 e-02
2.4532, 2.2284 e-02],
…,
[e 03 e-02 6.9182 e 03, 1.7279, -1.7783,……1.9354 e-02
2.1105 e 03, 8.6245 e 03],
[e-02 e-02 1.6877 e-02, -1.2414, 2.2409,……-2.0604 e-02 e-02
1.3253, -3.6008 e 03],
[e-02 e-02 -2.1598 e-02, 2.5892, 1.9372,……1.4159 e-02
7.0983 e 03, -2.3713 e-02]])
参数包含:
张量(1.00000 e-02 *
(1.4703, 1.0289, 2.5069, -2.2603, -1.5218, -1.7019, 1.2569,
0.4617, -2.3082, -0.6282])

for 名字,parameters 拷贝net.named_parameters ():   ,,,print(名字,& # 39;:& # 39;,parameters.size ())

输出:

conv1。重量:火炬。大小([6、1,3,3])
conv1。偏见:torch.Size ([6])
fc1。重量:火炬。大小([1350])
fc1。null

如何在Pytorch中操作统计模型参数量