Pytorch – torch.nn.Module的parameters()和named_parameters()
本文作者:StubbornHuang
版权声明:本文为站长原创文章,如果转载请注明原文链接!
原文标题:Pytorch – torch.nn.Module的parameters()和named_parameters()
原文链接:https://www.stubbornhuang.com/2343/
发布于:2022年09月06日 17:28:19
修改于:2022年09月06日 17:28:19

1 torch.nn.Module的named_parameters()和parameters()
Pytorch的torch.nn.Module
有两个比较相似的属性函数named_parameters()
和parameters()
,parameters()
返回整个模型参数的迭代器,而named_parameters()
可以返回参数层名称以及参数的迭代器,我们同时使用这两个函数查看模型参数以及修改模型属性,下面通过Pytorch预置的Resnet18来比较一下两者的区别。
1.1 parameters()
# -*- coding: utf-8 -*-
import torchvision.models
if __name__ == '__main__':
resnet18 = torchvision.models.resnet18(pretrained=True)
for params in resnet18.parameters():
#print('params:', params)
print('grad_requirs:', params.requires_grad)
print('grad_value:', params.grad)
print("==========")
输出
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
grad_requirs: True
grad_value: None
==========
1.2 named_parameters()
# -*- coding: utf-8 -*-
import torchvision.models
if __name__ == '__main__':
resnet18 = torchvision.models.resnet18(pretrained=True)
for name, params in resnet18.named_parameters():
print('name:', name)
#print('params:', params)
print('grad_requirs:', params.requires_grad)
print('grad_value:', params.grad)
print("==========")
输出
name: conv1.weight
grad_requirs: True
grad_value: None
==========
name: bn1.weight
grad_requirs: True
grad_value: None
==========
name: bn1.bias
grad_requirs: True
grad_value: None
==========
name: layer1.0.conv1.weight
grad_requirs: True
grad_value: None
==========
name: layer1.0.bn1.weight
grad_requirs: True
grad_value: None
==========
name: layer1.0.bn1.bias
grad_requirs: True
grad_value: None
==========
name: layer1.0.conv2.weight
grad_requirs: True
grad_value: None
==========
name: layer1.0.bn2.weight
grad_requirs: True
grad_value: None
==========
name: layer1.0.bn2.bias
grad_requirs: True
grad_value: None
==========
name: layer1.1.conv1.weight
grad_requirs: True
grad_value: None
==========
name: layer1.1.bn1.weight
grad_requirs: True
grad_value: None
==========
name: layer1.1.bn1.bias
grad_requirs: True
grad_value: None
==========
name: layer1.1.conv2.weight
grad_requirs: True
grad_value: None
==========
name: layer1.1.bn2.weight
grad_requirs: True
grad_value: None
==========
name: layer1.1.bn2.bias
grad_requirs: True
grad_value: None
==========
name: layer2.0.conv1.weight
grad_requirs: True
grad_value: None
==========
name: layer2.0.bn1.weight
grad_requirs: True
grad_value: None
==========
name: layer2.0.bn1.bias
grad_requirs: True
grad_value: None
==========
name: layer2.0.conv2.weight
grad_requirs: True
grad_value: None
==========
name: layer2.0.bn2.weight
grad_requirs: True
grad_value: None
==========
name: layer2.0.bn2.bias
grad_requirs: True
grad_value: None
==========
name: layer2.0.downsample.0.weight
grad_requirs: True
grad_value: None
==========
name: layer2.0.downsample.1.weight
grad_requirs: True
grad_value: None
==========
name: layer2.0.downsample.1.bias
grad_requirs: True
grad_value: None
==========
name: layer2.1.conv1.weight
grad_requirs: True
grad_value: None
==========
name: layer2.1.bn1.weight
grad_requirs: True
grad_value: None
==========
name: layer2.1.bn1.bias
grad_requirs: True
grad_value: None
==========
name: layer2.1.conv2.weight
grad_requirs: True
grad_value: None
==========
name: layer2.1.bn2.weight
grad_requirs: True
grad_value: None
==========
name: layer2.1.bn2.bias
grad_requirs: True
grad_value: None
==========
name: layer3.0.conv1.weight
grad_requirs: True
grad_value: None
==========
name: layer3.0.bn1.weight
grad_requirs: True
grad_value: None
==========
name: layer3.0.bn1.bias
grad_requirs: True
grad_value: None
==========
name: layer3.0.conv2.weight
grad_requirs: True
grad_value: None
==========
name: layer3.0.bn2.weight
grad_requirs: True
grad_value: None
==========
name: layer3.0.bn2.bias
grad_requirs: True
grad_value: None
==========
name: layer3.0.downsample.0.weight
grad_requirs: True
grad_value: None
==========
name: layer3.0.downsample.1.weight
grad_requirs: True
grad_value: None
==========
name: layer3.0.downsample.1.bias
grad_requirs: True
grad_value: None
==========
name: layer3.1.conv1.weight
grad_requirs: True
grad_value: None
==========
name: layer3.1.bn1.weight
grad_requirs: True
grad_value: None
==========
name: layer3.1.bn1.bias
grad_requirs: True
grad_value: None
==========
name: layer3.1.conv2.weight
grad_requirs: True
grad_value: None
==========
name: layer3.1.bn2.weight
grad_requirs: True
grad_value: None
==========
name: layer3.1.bn2.bias
grad_requirs: True
grad_value: None
==========
name: layer4.0.conv1.weight
grad_requirs: True
grad_value: None
==========
name: layer4.0.bn1.weight
grad_requirs: True
grad_value: None
==========
name: layer4.0.bn1.bias
grad_requirs: True
grad_value: None
==========
name: layer4.0.conv2.weight
grad_requirs: True
grad_value: None
==========
name: layer4.0.bn2.weight
grad_requirs: True
grad_value: None
==========
name: layer4.0.bn2.bias
grad_requirs: True
grad_value: None
==========
name: layer4.0.downsample.0.weight
grad_requirs: True
grad_value: None
==========
name: layer4.0.downsample.1.weight
grad_requirs: True
grad_value: None
==========
name: layer4.0.downsample.1.bias
grad_requirs: True
grad_value: None
==========
name: layer4.1.conv1.weight
grad_requirs: True
grad_value: None
==========
name: layer4.1.bn1.weight
grad_requirs: True
grad_value: None
==========
name: layer4.1.bn1.bias
grad_requirs: True
grad_value: None
==========
name: layer4.1.conv2.weight
grad_requirs: True
grad_value: None
==========
name: layer4.1.bn2.weight
grad_requirs: True
grad_value: None
==========
name: layer4.1.bn2.bias
grad_requirs: True
grad_value: None
==========
name: fc.weight
grad_requirs: True
grad_value: None
==========
name: fc.bias
grad_requirs: True
grad_value: None
==========
当前分类随机文章推荐
- Pytorch - RuntimeError: No rendezvous handler for env://错误 阅读803次,点赞0次
- Pytorch - 为什么要设置随机数种子? 阅读442次,点赞0次
- 深度学习 - 我的深度学习项目代码文件组织结构 阅读1069次,点赞3次
- Pytorch - 模型保存与加载以及如何在已保存的模型的基础上继续训练模型 阅读431次,点赞0次
- Pytorch - 使用Pyav解码视频文件并将视频帧转换为Pytorch tensor作为网络模型输入数据 阅读3682次,点赞0次
- Pytorch - 使用torch.matmul()替换torch.einsum('nctw,cd->ndtw',(a,b))算子模式 阅读1758次,点赞0次
- Pytorch - 使用opencv-python解码视频文件并将视频帧转换为Pytorch tensor作为网络模型输入数据 阅读2332次,点赞0次
- Pytorch - 没有使用with torch.no_grad()造成测试网络时显存爆炸的问题 阅读440次,点赞0次
- Pytorch - 使用torchsummary/torchsummaryX/torchinfo库打印模型结构、输出维度和参数信息 阅读1272次,点赞1次
- Pytorch - pad_sequence、pack_padded_sequence、pack_sequence、pad_packed_sequence参数详解与使用 阅读806次,点赞0次
全站随机文章推荐
- Python - ModuleNotFoundError: No module named 'skimage' 阅读228次,点赞0次
- 中国男篮 - 2023年男篮世界杯亚洲区预选赛中国男篮比赛录像 阅读625次,点赞0次
- WordPress - 在erphpdown插件中增加在隐藏文章指定位置之后文章内容的付费查看功能 阅读863次,点赞0次
- 深度学习 - 我的深度学习项目代码文件组织结构 阅读1069次,点赞3次
- C++ – 字节数组byte[]或者unsigned char[]与bool的相互转换 阅读863次,点赞1次
- Duilib - duilib应用程序实现文件可拖拽的功能 阅读2325次,点赞1次
- Python - 爬取直播吧首页重要赛事赛程信息 阅读238次,点赞0次
- 深度学习 - NLP自然语言处理与语音识别中常用的标识符
阅读797次,点赞0次等的含义 - 资源分享 - Effective Computational Geometry for Curves and Surfaces 英文高清PDF下载 阅读1454次,点赞0次
- C++ - 判断本机文件是否存在的方式总结 阅读4555次,点赞0次
评论
167