pytorch 实现打印模型的参数值

yipeiwu_com5年前Python基础

对于简单的网络

例如全连接层Linear

可以使用以下方法打印linear层:

fc = nn.Linear(3, 5)
params = list(fc.named_parameters())
print(params.__len__())
print(params[0])
print(params[1])

输出如下:

由于Linear默认是偏置bias的,所有参数列表的长度是2。第一个存的是全连接矩阵,第二个存的是偏置。

对于稍微复杂的网络

例如MLP

mlp = nn.Sequential(
      nn.Dropout(p=0.3),
      nn.Linear(1024, 256),
      nn.Linear(256, 64),
      nn.Linear(64, 16),
      nn.Linear(16, 1)
    )
params = list(mlp.named_parameters())
print(params.__len__())

print(params[0])
print(params[1])

print(params[2])
print(params[3])

输出:

可以发现,堆叠起来的网络,参数是依次放置的。先是全连接的权重,然后偏置。然后是下一层网络的权重+偏置。依次进行下去。

这里有4层fc,4*2=8.所以一共有8个参数矩阵。

以上这篇pytorch 实现打印模型的参数值就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Tensorflow中使用tfrecord方式读取数据的方法

Tensorflow中使用tfrecord方式读取数据的方法

前言 本博客默认读者对神经网络与Tensorflow有一定了解,对其中的一些术语不再做具体解释。并且本博客主要以图片数据为例进行介绍,如有错误,敬请斧正。 使用Tensorflow训练神...

Flask框架配置与调试操作示例

本文实例讲述了Flask框架配置与调试操作。分享给大家供大家参考,具体如下: 配置管理 复杂的项目需要配置各种环境。如果设置项很少,可以直接硬编码进来,比如下面的方式: app =...

pytorch下使用LSTM神经网络写诗实例

在pytorch下,以数万首唐诗为素材,训练双层LSTM神经网络,使其能够以唐诗的方式写诗。 代码结构分为四部分,分别为 1.model.py,定义了双层LSTM模型 2.data.py...

PYTHON压平嵌套列表的简单实现

list 是 Python 中使用最频繁的数据类型, 标准库里面有丰富的函数可以使用。 不过,如果把多维列表转换成一维列表(不知道这种需求多不多),还真不容易找到好用的函数, 要知道...

Python求解平方根的方法

本文实例讲述了Python求解平方根的方法。分享给大家供大家参考。具体如下: 主要通过SICP的内容改写而来。基于newton method求解平方根。代码如下: #!/usr/bi...