named_parameters() parameters() state_dict()
返回值类型 返回的值(list 可迭代类型),每个元组包括两个值(layer-name, layer-param),分别是指网络层的名字和参数。即(先将 layer-name:layer_param 键值信息存成一个元组,然后再存到 list 中) parameters()只有 layer-param 参数值 将 layer-name:layer-param 键值信息存储为 dict 字典形式
存储模型参数的类型 只保存可学习、可被更新的参数,model.buffer()中的参数不包含在 model.named_parameters()中 存储的是该 model 中包含的所有 layer 中的所有参数
返回值的 require_grad 属性 require_grad 属性都是 True 存储的模型参数 tensor 的 require_grad 属性都是 False

model.named_parameters()

1
2
3
4
for name, value in model.named_parameters():
print("name: ", name)
print("parameters: ", value)
print("*" * 100)

注: named_parameters() 的参数的 require_grad 的属性是 True,因为 tensor 被创建时,默认的 require_grad 是 True 。

输出

1
2
3
name:  model.model.23.one2one_cv3.2.1.1.bn.bias
parameters: Parameter containing:
tensor([0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], requires_grad=True)

model.parameters()

1
2
3
for value in model.parameters():
print("parameters: ", value)
print("*" * 100)

输出

1
2
parameters:  Parameter containing:
tensor([0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], requires_grad=True)

model.state_dict()

1
2
3
4
for key,value in model.state_dict().items():
print(" key : ", key)
print("parameters: ", value)
print("*" * 100)

输出

1
2
3
key :  model.model.23.one2one_cv3.2.1.1.bn.running_var
parameters: tensor([0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000,
0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000, 0.9000])