blow命令在shell / terminal中运行良好,但在使用subprocess.call()方法在我的python脚本中调用时会出错。
-- command in shell/terminal
$ th neural_style.lua -gpu 0 -style_image input/style.jpg -content_image input/img.jpg
-- subprocess.call() in python script
# this works
subprocess.call(["th", "neural_style.lua", "-gpu", "0"])
# this goes wrong - Error during read_image: Read Error
-- subprocess.call in the python script
subprocess.call(["th", "neural_style.lua", "-gpu", "0", "-style_image" "input/style.jpg" "-content_image" "input/img.jpg"])
我应该如何使用subprocess.call?
答案 0 :(得分:-1)
正如错误消息所示,它无法读取图像。错误(大概)来自您正在调用的th
程序。我猜你在没有共享的错误消息中有其他信息,但最可能的解释是你从不同于直接运行th
的目录运行Python脚本。例如,您是否从IDE运行Python脚本?它可能运行相对于工作空间或项目目录的命令。
要尝试的第一件事是交换absolute paths的图片参数(例如/home/username/input.style.jpg
或他们所在的位置)。这将解决从不同目录运行的脚本。
一旦您确认了问题,您将如何解决问题取决于您。您可以简单地从正确的目录运行Python脚本,您可以指定相对于脚本运行位置的路径,或者您可以简单地始终使用Python脚本的绝对路径。您选择的确实取决于您的使用案例。