天天看点

【pytorch】计算一个CNN模型model的参数量,即论文中常用的#parameters

在开始之前,请记住,存储量不是参数量!!!!

存储量不是参数量!!!!

存储量不是参数量!!!!

通常来说我们在训练模型的时候会用checkpoint的方法把模型保存下来,一个模型小则几十M,大则上百M,并且我们很多时候会把这个存储量误认为是参数量,比如

【pytorch】计算一个CNN模型model的参数量,即论文中常用的#parameters

但是实际上这个是存储量而不是参数量,那么在pytorch中参数量怎么计算呢?

实际上我们可以直接在pytorch代码中print一个模型的参数:

话不多说,代码如下:

params = list(self.get_model().parameters())#所有参数放在params里
k = 0
for i in params:
   l = 1
   for j in i.size():
        l*=j     #每层的参数存入l,这里也可以print 每层的参数
   k = k+l   #各层参数相加
print("all params:"+ str(k))   #输出总的参数

           

通常来说这个params最后print出来要除以100万转换为M为单位(论文中常用的格式)

好了,这就是pytorch中模型参数量的计算方法

继续阅读