我正在尝试使用暗流训练小 yolo。但是,当我运行代码时,我收到此错误:
Enter training ...
cfg/tiny-yolo-voc-2c.cfg parsing images/annotation
Parsing for ['thumbs_down', 'thumbs_up']
[====================>]100% 001296.xml
Statistics:
thumbs_down: 2078
thumbs_up: 1681
Dataset size: 2470
Dataset of 2470 instance(s)
This image's width or height are zeros: 002149.png
train_instance: ['002149.png', [0, 0, [['thumbs_up', 112, 15, 204, 143]]]]
Please remove or fix it then try again.
Traceback (most recent call last):
File "/anaconda3/bin/flow", line 6, in <module>
cliHandler(sys.argv)
File "/anaconda3/lib/python3.6/site-packages/darkflow/cli.py", line 33, in cliHandler
print('Enter training ...'); tfnet.train()
File "/anaconda3/lib/python3.6/site-packages/darkflow/net/flow.py", line 39, in train
for i, (x_batch, datum) in enumerate(batches):
File "/anaconda3/lib/python3.6/site-packages/darkflow/net/yolo/data.py", line 114, in shuffle
inp, new_feed = self._batch(train_instance)
File "/anaconda3/lib/python3.6/site-packages/darkflow/net/yolov2/data.py", line 35, in _batch
cx = centerx / cellx
ZeroDivisionError: float division by zero
如果我删除图像,它会找到另一个尺寸为 0,0 的图像,即使所有图像都有正常尺寸。如果我不删除它,它会告诉我一个大小为 0,0 的不同图像。意思是它随机通过?我删除了几张图片,但我不确定这是否会永远持续下去,或者是否只有一定数量的图片具有“大小 0,0”。
这是我在 darkflow-master 目录中使用的命令:
flow --model cfg/tiny-yolo-voc-2c.cfg --labels images/annotation/classes.txt --train --trainer adam --load bin/tiny-yolo-voc.weights --annotation images/annotation --dataset images/images --gpu 1.0 --epoch 1000