我有一个.nrrd文件,我可以将其读入python并保存为np数组。我想在lua / torch中使用生成的数组,我该怎么做呢?或者有没有办法直接将.nrrd文件读入lua?感谢。
答案 0 :(得分:1)
与评论一样,npy4th应该适用于您想要的内容。无论如何,我还发现了一个看起来更容易的python库。
您可以通过多种方式将结果导出到Lua,例如输出到文本文件。我删除了一些有用的网址。正如我所见,在Python中使用非常简单,仅使用import nrrd
和frames, options = nrrd.read("test.nrrd")
。
答案 1 :(得分:1)
现在你也可以尝试lutorpy,基本上,你可以在python中使用torch和任何lua库。
转换将在torch.fromNumpyArray(arr)
完成,您将获得一个火炬张量。还有另一个函数tensor.asNumpyArray()
,可以帮助你转换回numpy数组。
import lutorpy as lua
import numpy as np
xn = np.random.randn(100)
## convert the numpy array into torch tensor
tensor_xn = torch.fromNumpyArray(xn)
# you can use torch tensor as well
t = torch.DoubleTensor(10,3)
print(t._size()) # the corresponding lua version is t:size()
## convert torch tensor to numpy array
arr = t.asNumpyArray()
print(arr.shape)
大多数情况下,转换是通过numpy数组和割炬张量之间的共享内存立即完成的,无需保存磁盘,甚至无内存副本。