暗网检测器未使用输出重定向进行初始化
Darknet detector not initializing with output redirect
当我从 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 and I have opened an issue,如果你想检查一下。虽然我认为这可能不是库问题。
有什么想法吗?
问题是由输出缓冲引起的。
我通过使用 -u
选项调用 python 解决了问题:
nohup python3 -u myscript.py
See this question
当我从 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 and I have opened an issue,如果你想检查一下。虽然我认为这可能不是库问题。
有什么想法吗?
问题是由输出缓冲引起的。
我通过使用 -u
选项调用 python 解决了问题:
nohup python3 -u myscript.py
See this question