为什么使用 Lua Torch 和 PyTorch 中的 scipy 从 .mat 文件加载矩阵后存在差异?

我使用 Lua Torch 7 和 PyTorch 使用 scipy 都从 .mat 文件获取矩阵输出。在使用 PyTorch 时得到了略有差异的矩阵。请有人解释一下为什么?在 PyTorch 中,矩阵是浮点数,但在 Lua Torch 中是固定点。我该如何在 PyTorch 中解决这个问题。

以下是矩阵。

来自 Scipy 和 PyTorch 结果:

tensor([[[112., -1., -1., -1., -1., -1.],
 [ -1., -1., 130., 138., -1., -1.]],

 [[ 57., -1., -1., -1., -1., -1.],
 [ -1., -1., 11., 53., -1., -1.]],

 [[ 58., -1., -1., -1., -1., -1.],
 [ -1., -1., 31., 28., -1., -1.]],

 [[ 46., -1., -1., -1., -1., -1.],
 [ -1., -1., 24., 28., -1., -1.]]])

来自 Lua Torch7 结果

[[[113 -1 -1 -1 -1 -1]
 [-1 -1 131 139 -1 -1]],
 [[57 -1 -1 -1 -1 -1],
 [-1 -1 11 53 -1 -1]],
 [[58 -1 -1 -1 -1 -1],
 [-1 -1 31 29 -1 -1]],
 [[47 -1 -1 -1 -1 -1],
 -[1 -1 24 28 -1 -1]]]

您可以看到 PyTorch 中的第一个元素是 112,而在 Lua Torch 中是 113。类似地,130 & 131138 & 13928 & 29 以及 46 and 47。我希望得到与 Lua Torch 相似的结果,即第二个矩阵。是否有任何方法可以在 PyTorch 中获得固定点数。请帮忙。谢谢。

点赞