我有一个Python函数,它返回多维numpy数组。我想从Lua调用这个Python函数,并尽快将数据转换为Lua Torch张量。我有一个解决方案,工作相当缓慢,并正在寻找一个明显更快的方式(10帧或更多)。我不确定这是否可能。在
我相信,考虑到Facebook支持的Torch越来越受欢迎,以及Python提供的大量易于使用的图像处理工具(Lua缺少这些工具),这对其他人来说是有用的。在
我使用疯狂python的Bastibe fork从Lua调用python函数。在前面的question和这个{a2}的帮助下,我想出了一些可以工作的代码,但是太慢了。我使用的是Lua5.1和Python2.7.6,如果需要,可以对它们进行更新。在
Lua代码:“测试_卢阿““
require 'torch'
print(package.loadlib("libpython2.7.so", "*"))
require("lua-python")
getImage = python.import "test_python".getImage
pb = python.builtins()
function getImageTensor(pythonImageHandle,width,height)
imageTensor = torch.Tensor(3,height,width)
image_0 = python.asindx(pythonImageHandle(height,width))
for i=0,height-1 do
image_1 = python.asindx(image_0[i])
for j=0,width-1 do
image_2 = python.asindx(image_1[j])
for k=0,2 do
-- Tensor indices begin at 1
-- User python inbuilt to-int function to return integer
imageTensor[k+1][i+1][j+1] = pb.int(image_2[k])/255
end
end
end
return imageTensor
end
a = getImageTensor(getImage,600,400)
Python代码:“test_python.py““
^{pr2}$
试试lutorpy,它在python中有一个lua引擎,能够与torch共享numpy内存,所以它非常快,下面是您案例的代码:
相关问题 更多 >
编程相关推荐