Pytorch——net.parameters,参数获取
假设有如下模型
net = nn.Sequential(nn.Linear(2, 1))
现在要获取其参数值和参数名称
方法一:
for parm in net[0].parameters(): print(parm)
结果:
Parameter containing: tensor([[-0.0701, 0.6440]], requires_grad=True) Parameter containing: tensor([0.3689], requires_grad=True)
方法二:
for index,param in enumerate(net.state_dict()): print("index = ",index) print("param = ",param) print("param_value = ",net.state_dict()[param]) print('----------------')
结果:
index = 0 param = mylinear.weight param_value = tensor([[-0.3498, -0.6411]]) ---------------- index = 1 param = mylinear.bias param_value = tensor([-0.3613]) ----------------
方法三:
net = nn.Sequential() net.add_module('mylinear',nn.Linear(2, 1)) print(net[0].weight) print(net[0].bias)
结果:
Parameter containing: tensor([[-0.4204, -0.5140]], requires_grad=True) Parameter containing: tensor([-0.0711], requires_grad=True)
参考:https://blog.csdn.net/hxxjxw/article/details/107717031