我已经用自己的数据训练了darkflow yolo,数据集的描述:
数据集大小:3个图像
课程:1
className:可口可乐
编辑的yolo.cfg文件为yolo_custom.cfg:
class = 1
过滤器= 30
命令训练:
python3 flow --model cfg/yolo_custom.cfg --load bin/yolo.weights --batch 1 --epoch 30 --train --annotation train_imgs/Annotations --dataset train_imgs/Images
结果:
完成29个时代
步骤88-损失161.10618591308594-移动AVE损失169.31837991674482
步骤89-损失159.54132080078125-移动AVE损失168.34067400514846
步骤90-损失162.15159606933594-移动AVE损失167.7217662115672
完成30个时代(ES)
检查点在步骤90
培训完成,退出。
要收集新的权重,请运行此命令以将YOLO_CUSTOM-30.META文件保存到build_graph/yolo_custom.pb文件:
python3 flow --model cfg/yolo_custom.cfg --load -1 --savepb
结果是:
使用标准文件API使用此前缀检查文件。
完成9.207940340042114S
重建恒定版本...
完成
现在,当我使用此命令测试存储在sample_img文件夹中的图像时:
python3 flow --pbLoad built_graph/yolo_custom.pb --metaLoad built_graph/yolo_custom.meta --imgdir sample_img/
包含输出图像的sample_img/out文件夹有不完整/有损耗的图像,只包含少数原始图像的像素。json文件包含许多边界框位置。
这没有意义。我很困惑。请帮助他了解我错过的地方。非常感谢。
您的损失太高。它仍然不足,因此您的输出可能具有多个预测。要理解这一点,请检查您的JSON文件,它可能会有数千个预测。因此,训练模型以使用一小部分数据为更多时期。