Bootstrap

YOLOv3的使用

YOLOv3官方是用的darknet深度学习框架。

若想快速上手,使用官方的权重,可以直接参考官方的网站:https://pjreddie.com/darknet/yolo/

keras版YOLOv3可以参考博客:https://blog.csdn.net/Patrick_Lxc/article/details/80615433

keras版YOLOv3的github地址:https://github.com/qqwweee/keras-yolo3

注意:

1. yolov3.cfg文件

从0开始训练自己的模型,则不需要下面的修改步骤,而如果想用迁移学习思想,用已经预训练好的权重接着训练,则需要下面的修改步骤。

IDE里直接打开cfg文件,ctrl+f搜 yolo, 总共会搜出3个含有yolo的地方。

每个地方都要改3处,filters:3*(5+len(classes));

                                    classes: len(classes) = 1,我只识别一种,所以为1

                                    random:原来是1,显存小改为0   

如果要用预训练的权重接着训练,则需要执行以下代码:然后执行原train.py就可以了。原train.py中有加载预训练权重的代码,并冻结部分层数,在此基础上进行训练。可以修改冻结层数。

python convert.py -w yolov3.cfg yolov3.weights model_data/yolo_weights.h5

这个在github和参考的文章中均提到。

如果不用预训练的权重,上一步不用执行(执行也没影响),但是下面的train.py需要修改,改为如下所示(代码出处为上文提到的参考博客中):直接复制替换原train.py即可

参考博客https://blog.csdn.net/m0_37857151/article/details/81330699

2.keras版的yolov3中训练出现early_stopping(早停)

出现早停,可以吧回调函数(callback)删了。

操作如下

;