pytorch获取模型某一层参数名及参数值方式

 更新时间:2019年12月30日 09:26:52   作者:HuiYu-Li  
今天小编就为大家分享一篇pytorch获取模型某一层参数名及参数值方式,具有很好的价值,希望对大家有所帮助。一起跟随小编过来看看吧

1、Motivation:

I wanna modify the value of some param;

I wanna check the value of some param.

The needed function:

2、state_dict() #generator type

model.modules()#generator type

named_parameters()#OrderDict type

from torch import nn
import torch
#creat a simple model
model = nn.Sequential(
  nn.Conv3d(1,16,kernel_size=1),
  nn.Conv3d(16,2,kernel_size=1))#tend to print the W of this layer
input = torch.randn([1,1,16,256,256])
if torch.cuda.is_available():
  print('cuda is avaliable')
  model.cuda()
  input = input.cuda()
#打印某一层的参数名
for name in model.state_dict():
  print(name)
#Then I konw that the name of target layer is '1.weight'

#schemem1(recommended)
print(model.state_dict()['1.weight'])

#scheme2
params = list(model.named_parameters())#get the index by debuging
print(params[2][0])#name
print(params[2][1].data)#data

#scheme3
params = {}#change the tpye of 'generator' into dict
for name,param in model.named_parameters():
params[name] = param.detach().cpu().numpy()
print(params['0.weight'])

#scheme4
for layer in model.modules():
if(isinstance(layer,nn.Conv3d)):
  print(layer.weight)

#打印每一层的参数名和参数值
#schemem1(recommended)
for name,param in model.named_parameters():
  print(name,param)

#scheme2
for name in model.state_dict():
  print(name)
  print(model.state_dict()[name])

以上这篇pytorch获取模型某一层参数名及参数值方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python中取整的几种方法小结

    Python中取整的几种方法小结

    这篇文章主要介绍了Python中取整的几种方法,其中包括向下取整、四舍五入取整、向上取整以及分别取整数部分和小数部分。分别都给出了示例代码,相信对大家的理解和学习具有一定的参考借鉴价值,需要的朋友可以参考借鉴。
    2017-01-01
  • Python使用Kafka处理数据的方法详解

    Python使用Kafka处理数据的方法详解

    Kafka是一个分布式的流数据平台,它可以快速地处理大量的实时数据。在Python中使用Kafka可以帮助我们更好地处理大量的数据,本文就来和大家详细讲讲具体使用方法吧
    2023-04-04
  • Python类如何定义私有变量

    Python类如何定义私有变量

    这篇文章主要介绍了Python类如何定义私有变量,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • python实现鸢尾花三种聚类算法(K-means,AGNES,DBScan)

    python实现鸢尾花三种聚类算法(K-means,AGNES,DBScan)

    这篇文章主要介绍了python实现鸢尾花三种聚类算法(K-means,AGNES,DBScan),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • python实现根据给定坐标点生成多边形mask的例子

    python实现根据给定坐标点生成多边形mask的例子

    今天小编就为大家分享一篇python实现根据给定坐标点生成多边形mask的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • 如何在Python中实现goto语句的方法

    如何在Python中实现goto语句的方法

    这篇文章主要介绍了如何在Python中实现goto语句的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • Python构建图像分类识别器的方法

    Python构建图像分类识别器的方法

    今天小编就为大家分享一篇Python构建图像分类识别器的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python运算符重载用法实例

    Python运算符重载用法实例

    这篇文章主要介绍了Python运算符重载用法,实例分析了Python运算符重载实现加法运算的技巧,需要的朋友可以参考下
    2015-05-05
  • SublimeText 2编译python出错的解决方法(The system cannot find the file specified)

    SublimeText 2编译python出错的解决方法(The system cannot find the file

    这篇文章主要介绍了SublimeText 2编译python报The system cannot find the file specified错误的解决方法,大家参考使用吧
    2013-11-11
  • Python批量修改文件名,文件再多也只要一秒

    Python批量修改文件名,文件再多也只要一秒

    大家好,本篇文章主要讲的是Python批量修改文件名,文件再多也只要一秒,感兴趣的同学赶快来看一看,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12

最新评论