我试图在Python cgi-bin脚本中调用Torch 7程序。
如果我从命令行运行以下Python脚本:
# -*- coding: utf-8 -*-
from subprocess import call
call (['th', 'sample.lua', 'cv/lm_lstm_epoch3.54_0.9324.t7', '-gpuid', '-1', '-primetext', '"אמר הגאון הגרפקא המן איש טוב היה שנאמר"', '-temperature', '1.0', '-length', '1000'])
这很好用,我得到以下输出
ubuntu @ ip-172-31-45-110:/ usr / lib / cgi-bin $ python test2.py 创造一个... ...
播种“אמרהגאוןהגרפקאהמןאישטובהיהשנאמר”
“אמרהגאוןהגרפקאהמןאישטובהיהשנאמר"זהיקרקידומישכןבלבדומחלליןעליואותוממנווזכהזהלאסולדדינרהקדשומחופהאתאשתומביתהרןוביניהןאבליוםאחדולמניןשניהימיבתןככלוםזכותדכתיבאשרבחרםאםאשרעשולאכלחטאתקמיהבדין נקראולאמהוציאהולאניקבהלאאמרליהאםתימצילומרעדדכםראשוןבגובהוהריז]נידוןטומאהמידקיסאאיתלמודהומיאיכאלמיפרךמהלשרעתולאהתנאולאא"להכיקאמראפילושחיושוברושלמקוםהראשוןכסיפווהריחיליןבביתהמקדשוהיכיממעיטריםאחרינאועיבורבישראלמיאיכאמידיאישתימירחודשקיל אמרלהואישבעיםשנהשעוריםעליןא"כרביי איברמישראלאמרלונפשגזרקונשיבתרצות
但是,如果我尝试从cgi-bin脚本调用Torch 7
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import subprocess
import os, sys
import cgi, cgitb
print "Content-Type: text/html"
print
print "<TITLE>CGI script output</TITLE>"
output = ""
output = subprocess.call (['th', 'sample.lua', 'cv/lm_lstm_epoch3.54_0.9324.t7', '-gpuid', '-1', '-primetext', '"אמר הגאון הגרפקא המן איש טוב היה שנאמר"', '-temperature', '1.0', '-length', '1000'])
print output
然后我没有输出到网页,apache错误日志也没有错误。
由于
答案 0 :(得分:0)
您希望使用check_output来存储正在执行的命令的输出。 call不会这样做。调用只会为您提供正在执行的内容的返回码。
subprocess.check_output(['th', 'sample.lua', 'cv/lm_lstm_epoch3.54_0.9324.t7', '-gpuid', '-1', '-primetext', '"אמר הגאון הגרפקא המן איש טוב היה שנאמר"', '-temperature', '1.0', '-length', '1000'])
答案 1 :(得分:-1)
可能你可以尝试lutorpy然后你可以直接用python运行火炬代码。您可以使用require(&#34; sample&#34;)导入sample.lua模块,然后像运行python函数一样运行内部函数。