【问题标题】:Darknet detector not initializing with output redirect暗网检测器未使用输出重定向初始化
【发布时间】:2020-05-17 13:16:25
【问题描述】:

当我从 CLI 没有 输出重定向运行我的脚本时,一切正常。

这就是myscript.py 的样子:

# Load darknet 
sys.path.insert(0, '/var/AI/darknet/')
import darknet
darknet.performDetect(initOnly=True)
print('Beginning API query loop')
while True:
    # Business logic

通过使用py myscript.py 运行我的脚本,这是我在控制台中得到的尾部输出:

[yolo] params: iou loss: giou (1), iou_norm: 0.50, cls_norm: 1.00, scale_x_y: 1.00
Total BFLOPS 139.496
avg_outputs = 1103769
 Try to load weights: /var/AI/darknet/weights/yolov3-papersheet_600.weights
Loading weights from /var/AI/darknet/weights/yolov3-papersheet_600.weights...
 seen 64, trained: 76 K-images (1 Kilo-batches_64)
Done! Loaded 107 layers from weights-file
Loaded - names_list: /var/AI/darknet/data/papersheet.names, classes = 1
Initialized detector
Beginning API query loop

所以这个工作正常,但是如果我使用输出重定向运行这个脚本:

nohup python3 myscript.py > /var/log/python/myscript.log 2>&1 & echo $!

停止在脚本的darknet.performDetect(initOnly=True) 行,并带有以下尾部输出:

[yolo] params: iou loss: giou (1), iou_norm: 0.50, cls_norm: 1.00, scale_x_y: 1.00
  95 route  91                                     ->   38 x  38 x 256
  96 conv    128       1 x 1/ 1     38 x  38 x 256 ->   38 x  38 x 128 0.095 BF
  97 upsample                 2x    38 x  38 x 128 ->   76 x  76 x 128
  98 route  97 36                                  ->   76 x  76 x 384
  99 conv    128       1 x 1/ 1     76 x  76 x 384 ->   76 x  76 x 128 0.568 BF
 100 conv    256       3 x 3/ 1     76 x  76 x 128 ->   76 x  76 x 256 3.407 BF
 101 conv    128       1 x 1/ 1     76 x  76 x 256 ->   76 x  76 x 128 0.379 BF
 102 conv    256       3 x 3/ 1     76 x  76 x 128 ->   76 x  76 x 256 3.407 BF
 103 conv    128       1 x 1/ 1     76 x  76 x 256 ->   76 x  76 x 128 0.379 BF
 104 conv    256       3 x 3/ 1     76 x  76 x 128 ->   76 x  76 x 256 3.407 BF
 105 conv     18       1 x 1/ 1     76 x  76 x 256 ->   76 x  76 x  18 0.053 BF
 106 yolo
[yolo] params: iou loss: giou (1), iou_norm: 0.50, cls_norm: 1.00, scale_x_y: 1.00
Total BFLOPS 139.496
avg_outputs = 1103769
Loading weights from /var/AI/darknet/weights/yolov3-papersheet_600.weights... Try to load cfg: /var/AI/darknet/cfg/yolov3-papersheet.cfg, weights: /var/AI/darknet/weights/yolov3-papersheet_600.weights, clear = 0
mini_batch = 1, batch = 1, time_steps = 1, train = 0
 Try to load weights: /var/AI/darknet/weights/yolov3-papersheet_600.weights
Done! Loaded 107 layers from weights-file

任何输出重定向都会出现此问题,例如:

py script.py > log.py

我正在使用以下fork of the darknet library,并且我还在那里打开了issue,如果您想检查一下。虽然我认为这可能不是图书馆问题。

有什么想法吗?

【问题讨论】:

    标签: python bash nohup darknet


    【解决方案1】:

    问题是由输出缓冲引起的。

    我通过使用-u 选项调用python 解决了:

    nohup python3 -u myscript.py

    See this question

    【讨论】:

      猜你喜欢
      • 2019-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多