torch7:在行长超过 80 个字符的文本文件中打印矩阵

torch7 : print matrix in text file with lines longer than 80 characters

我正在尝试恢复此 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 列)。

有什么方法可以防止文本被换行并仅在一个块中显示权重矩阵?

谢谢。

我想你真正想做的是保存参数,以便稍后加载它们?既然如此,请看这个:

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

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)