要打印 TorchModel 中线性层的权重和偏置,需要先实例化模型,然后通过模型的属性访问线性层,再打印其权重和偏置。以下是修改后的代码:
import torch
import torch.nn as nn
class TorchModel(nn.Module):
def __init__(self, input_size):
super(TorchModel, self).__init__()
self.linear = nn.Linear(input_size, 1)
- 访问线性层:权重和偏置是
self.linear 的属性,因此需要通过 model.linear.weight 和 model.linear.bias 访问。
- 转为 numpy 数组:使用
detach().numpy() 将 PyTorch 张量转换为 NumPy 数组以便打印。
- 随机初始化:每次运行时权重和偏置都是随机初始化的,结果会不同。若需要固定结果,可添加
torch.manual_seed(42)。
权重: [[-0.01055113 0.24100014 -0.16427004 -0.06450003 -0.17373345]]
偏置: [0.13765424]