मेरे पास एक पायथन फ़ंक्शन है जो एक बहु-आयामी numpy सरणी देता है। मैं इस पायथन समारोह को लुआ से कॉल करना चाहता हूं और जितनी जल्दी हो सके डेटा को लुआ टॉर्च टेंसर में प्राप्त करना चाहता हूं। मेरे पास एक समाधान है जो धीरे-धीरे काम करता है और एक ऐसे तरीके की तलाश में है जो काफी तेज है (10fps या अधिक का क्रम)। मुझे यकीन नहीं है कि यह संभव है।लौटा मशाल टेंसर में एक लौटा पायथन-इन-लुआ numpy सरणी को जल्दी से कैसे परिवर्तित करें?
मेरा मानना है कि यह फेसबुक समर्थित टॉर्च की बढ़ती लोकप्रियता और पाइथन में उपलब्ध व्यापक उपयोग में आसान छवि-प्रसंस्करण उपकरण पर विचार करने वाले लोगों के लिए उपयोग किया जाएगा, जिनमें लूआ की कमी है।
मैं लुआ से पाइथन समारोह को कॉल करने के लिए पागल-पायथन के बस्तीबे कांटा का उपयोग कर रहा हूं। इस पिछले question और इस documentation से सहायता के साथ, मैं कुछ कोड के साथ आया हूं जो काम करता है, लेकिन बहुत धीमा है। मैं लुआ 5.1 और पायथन 2.7.6 का उपयोग कर रहा हूं और यदि आवश्यक हो तो इन्हें अपडेट कर सकता हूं।
लुआ कोड: "test_lua.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)
अजगर कोड: "test_python.py"
import numpy
import os,sys
import Image
def getImage(width, height):
return numpy.asarray(Image.open("image.jpg"))
धन्यवाद :) अभी तक इस पर नहीं आया है। मैं लुआ में पायथन चलाने के लिए एक रास्ता तलाश रहा था, हालांकि मैं बड़ी मात्रा में लुआ कोड के साथ काम कर रहा था और केवल थोड़ी सी पाइथन की आवश्यकता थी। मैंने [लिंक] दिया है (https://github.com/facebook/fblualib/blob/master/fblualib/python/README.md) एक कोशिश भी है, हालांकि मुझे लुजाइट के बजाए क्लूआ के साथ दौड़ने की ज़रूरत है ताकि मैं प्रदर्शन के साथ काम कर सकूं विंडोज। –