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

本文详细介绍了在PyTorch中获取模型参数的方法,包括使用`state_dict()`、`modules()`、`named_parameters()`等函数,以及如何修改和查看特定层的权重。通过示例代码展示了如何获取并打印模型的参数名和参数值。
摘要由CSDN通过智能技术生成

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获取模型某一层参数名及参数值方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值