作者:xljlg | 来源:互联网 | 2023-02-09 12:45
这篇文章主要介绍pytorch如何实现打印模型的参数值,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
对于简单的网络
例如全连接层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的优点
1.PyTorch是相当简洁且高效快速的框架;2.设计追求最少的封装;3.设计符合人类思维,它让用户尽可能地专注于实现自己的想法;4.与google的Tensorflow类似,FAIR的支持足以确保PyTorch获得持续的开发更新;5.PyTorch作者亲自维护的论坛 供用户交流和求教问题6.入门简单
以上是“pytorch如何实现打印模型的参数值”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程笔记行业资讯频道!