无法调用子进程-Python

问题描述 投票:0回答:1

我真的希望这不是一个双重问题,但我找不到我想要的东西。

我想从Py脚本启动darknet.exe命令(YOLOv3),因为我正在使工作中的一些东西自动化。

这里是代码(注意:文件夹名称中的xxxxx只是为了保护隐私!):

cmdDarkent = r"C:\Users\YodhResearch\Desktop\darknet-master\darknet-master\build\darknet\x64\darknet.exe "
cmdDetector = "detector "
cmdTest = "test "
cmdData = r"C:\Users\xxxxx\Desktop\darknet-master\darknet-master\build\darknet\x64\data\obj\GoodTraining\obj.data "
cmdCfg = r"C:\Users\xxxxx\Desktop\darknet-master\darknet-master\build\darknet\x64\data\obj\GoodTraining\yolo-obj.cfg "
cmdWeights = r"C:\Users\xxxxx\Desktop\darknet-master\darknet-master\build\darknet\x64\data\obj\GoodTraining\yolo-obj_final.weights "
cmdImage = r"C:\Users\xxxxx\Desktop\darknet-master\darknet-master\build\darknet\x64\data\obj\GoodTraining\divertixxxxx\TreatR01-7_14-38_ROI1366-0461_ImageROI1_00n.PNG "
cmdExtOutput = r"-ext_output"

import subprocess
subprocess.call([cmdDarkent, cmdDetector, cmdTest, cmdData, cmdCfg, cmdWeights, cmdImage, cmdExtOutput],shell=True)

我的输出:

CUDA-version: 10020 (10020), cuDNN: 7.6.5, CUDNN_HALF=1, GPU count: 1
 OpenCV version: 3.4.9
Not an option: detector

它正在启动命令,但没有找到检测器作为选项,但我100%确信这是正确的方法。这是完整的命令:

darknet.exe detector test data\obj\GoodTraining\obj.data data\obj\GoodTraining\yolo-obj.cfg data\obj\GoodTraining\yolo-obj_final.weights C:\Users\xxxxx\Desktop\darknet-master\darknet-master\build\darknet\x64\data\obj\GoodTraining\divertixxxxx\TreatR01-7_14-38_ROI1366-0461_ImageROI1_00n.PNG -ext_output

这是我期望看到的:

C:\Users\xxxxx\Desktop\darknet-master\darknet-master\build\darknet\x64>darknet.exe detector test data\obj\GoodTraining\obj.data data\obj\GoodTraining\yolo-obj.cfg data\obj\GoodTraining\yolo-obj_final.weights C:\Users\xxxxx\Desktop\darknet-master\darknet-master\build\darknet\x64\data\obj\GoodTraining\divertixxxxx\TreatR01-7_14-38_ROI1366-0461_ImageROI1_00n.PNG -ext_output
 CUDA-version: 10020 (10020), cuDNN: 7.6.5, CUDNN_HALF=1, GPU count: 1
 OpenCV version: 3.4.9
 compute_capability = 750, cudnn_half = 1
net.optimized_memory = 0
batch = 1, time_steps = 1, train = 0
   layer   filters  size/strd(dil)      input                output
   0 conv     32       3 x 3/ 1    416 x 416 x   3 ->  416 x 416 x  32 0.299 BF
   1 conv     64       3 x 3/ 2    416 x 416 x  32 ->  208 x 208 x  64 1.595 BF
   2 conv     32       1 x 1/ 1    208 x 208 x  64 ->  208 x 208 x  32 0.177 BF
   3 conv     64       3 x 3/ 1    208 x 208 x  32 ->  208 x 208 x  64 1.595 BF

我想念什么?

感谢您的时间,朱利奥

p.s .:在python脚本中,路径是不同的,只是pyscript不在“ expected”命令中。在这种情况下,它知道在哪里找到它!

python command-line subprocess yolo
1个回答
1
投票

两件事:

© www.soinside.com 2019 - 2024. All rights reserved.