[火炬]如何在nn模型中读取权重

YuT*_*Tse 4 neural-network torch

我使用itorch笔记本构建了nn模型.

model = nn.Sequential()

model:add(nn.Reshape(ninputs))

model:add(nn.Linear(ninputs,noutputs))
Run Code Online (Sandbox Code Playgroud)

输入数据到模型

output = model:forward(input)
Run Code Online (Sandbox Code Playgroud)

然后,我打印模型并得到了这个.

print(model)

nn.Sequential {
  [input -> (1) -> (2) -> output]
  (1): nn.Reshape(3072)
  (2): nn.Linear(3072 -> 10)
}
{
  gradInput : DoubleTensor - empty
  modules : 
    {
      1 : 
        nn.Reshape(3072)
        {
          _input : DoubleTensor - empty
          nelement : 3072
          train : true
          output : DoubleTensor - size: 3072
          gradInput : DoubleTensor - empty
          size : LongStorage - size: 1
          _gradOutput : DoubleTensor - empty
          batchsize : LongStorage - size: 2
        }
      2 : 
        nn.Linear(3072 -> 10)
        {
          gradBias : DoubleTensor - size: 10
          weight : DoubleTensor - size: 10x3072
          train : true
          bias : DoubleTensor - size: 10
          gradInput : DoubleTensor - empty
          gradWeight : DoubleTensor - size: 10x3072
          output : DoubleTensor - size: 10
        }
    }
  train : true
  output : DoubleTensor - size: 10
}
Run Code Online (Sandbox Code Playgroud)

如何读取nn.linear中的权重?

提前致谢.

YuT*_*Tse 7

哦,它类似于PHP

model.modules[2].weight
Run Code Online (Sandbox Code Playgroud)