我已经用自己的数据(数据集的描述)训练了Darkflow yolo:
数据集大小:3张图片
类别:1
类别名称:可口可乐
将yolo.cfg文件编辑为yolo_custom.cfg:
类= 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-移动平均损失169.31837991674482
步骤89-损失159.54132080078125-移动平均损失168.34067400514846
步骤90-损失162.15159606933594-移动平均损失167.7217662115672
完成30个纪元
步骤90的检查点
培训结束,退出。
要收集新的权重,请运行以下命令以将yolo_custom-30.meta文件保存到built_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文件包含很多边界框位置。
这没有道理。我很困惑请帮助他了解我遗漏的重点。 非常感谢。
答案 0 :(得分:0)
您的损失太高。它仍然不尽人意,因此您的输出可能会有多个预测。要了解这一点,请检查您的json文件,它可能具有数千个预测。因此,使用少量数据子集为更多时期训练模型。