我在Python中构建了一个矩阵,一个带有data.shape的numpy数组是(249,230)。这里的一切似乎都很好。
我用一些简单的代码将它写入hdf5文件:
GET /static/x/images/lolcat.jpg HTTP/1.1
Host: example.com
现在我希望这些数据作为Torch神经网络的输入。 (249个长度为230的输入样本)。 因此,我尝试用
将这个hdf5文件读入火炬f = h5py.File("instructions.hdf5", "w")
f.create_dataset('/instructions', data=data)
f.close()
然而,当我打印(#input)时,我得到一个意想不到的结果,也有完全不同的数字:
local datafile = hdf5.open('instructions.hdf5', 'r')
local input = datafile:read('/instructions'):all()
有人知道出了什么问题吗?
答案 0 :(得分:0)
我认为您可以尝试使用lutorpy将numpy矩阵转换为火炬张量。 Lutorpy在python中有一个lua引擎,能够用火炬分享numpy内存,这是一个例子:
import numpy
import Image
## boot strap lutorpy
import lutorpy as lua
require('torch')
getImage = numpy.asarray(Image.open("image.jpg"))
a = torch.fromNumpyArray(getImage)
# now you can use your image as torch Tensor
# for example: use SpatialConvolution from nn to process the image
require("nn")
n = nn.SpatialConvolution(1,16,12,12)
res = n.forward(n, a)
print(res._size())
# convert back to numpy array
output = res.asNumpyArray()