如何在 PyTorch 中提取线性层的权重和偏差?

Nou*_*ess 5 python torch pytorch

在 中model.state_dict(),模块的权model.parameters()model.named_parameters()和偏差nn.Linear()分别包含,eqfc1.weightfc1.bias。有没有一种简单的Pythonic方法来获取它们?

预期的示例类似于:

layer = model['fc1']
print(layer.weight)
print(layer.bias)
Run Code Online (Sandbox Code Playgroud)

uke*_*emi 6

您可以恢复模型中每个线性层的命名参数,如下所示:

from torch import nn

for layer in model.children():
    if isinstance(layer, nn.Linear):
        print(layer.state_dict()['weight'])
        print(layer.state_dict()['bias'])
Run Code Online (Sandbox Code Playgroud)