0

我正在尝试恢复这个 NN 的参数:

    nn.Sequential {
      [input -> (1) -> (2) -> (3) -> (4) -> (5) -> (6) -> output]
      (1): nn.Linear(4 -> 200)
      (2): nn.Tanh
      (3): nn.Linear(200 -> 200)
      (4): nn.Tanh
      (5): nn.Linear(200 -> 3)
      (6): nn.LogSoftMax         
    }

使用此代码:

print(mlp:get(1).weight)
print(mlp:get(1).bias)

print(mlp:get(3).weight)
print(mlp:get(3).bias)

print(mlp:get(5).weight)
print(mlp:get(5).bias)

使用此命令行将输出 .lua 文件保存到文本文件时:

>>th  'MyScript.lua' > NNParameters.txt

我将所有权重矩阵包装成每列六列的段(第 1 到 6 列 ...第 193 到 198 列 ...第 199 到 200 列)。

有没有办法防止文本被包装并仅在一个块中显示权重矩阵?

谢谢你。

4

2 回答 2

1
printT = function(t)
   t = t:view(-1)
   for i=1,t:nElement() do
      io.write(t[i] .. ',')
   end
end

printT(mlp:get(1).weight)
printT(mlp:get(1).bias)

printT(mlp:get(3).weight)
printT(mlp:get(3).bias)

printT(mlp:get(5).weight)
printT(mlp:get(5).bias)
于 2015-05-04T17:42:30.233 回答
0

我认为您真正想要做的是保存参数,以便以后可以重新加载它们?在这种情况下,看看这个:

https://github.com/torch/torch7/blob/master/doc/serialization.md

于 2015-05-04T08:02:22.897 回答