首先先到官网上面去下载权重文件
(1)权重文件下载
https://pjreddie.com/darknet/yolo/
(2)下载yolo3的代码
https://github.com/qqwweee/keras-yolo3
(3)打开pychram
可以看到里面项目的代码
(4)制作数据集
https://blog.csdn.net/qwazp3526cn/article/details/115185129
dir /b/s/p/w *.png>train.txt
这篇文章详细的说明了LabelImg 标注工具安装和使用的教程
首先我们先新建一个文件夹data,里面有两个子文件夹分别是train_images和val_images
输入cmd进入项目位置输入代码
dir /b/s/p/w *.png>train.txt
自动生成train.txt文件,文件内容如下:
(5)转换模型
1)问题一
遇到这个问题:can't open file 'convert.py'的话
直接打开下面的终端,cd xxxxxx(文件名)进入到你的项目里面去
2)问题二
No module named 'keras'
打开这篇文章
https://blog.csdn.net/qwazp3526cn/article/details/115328509?spm=1001.2014.3001.5501
我自己的是tf.2.3版本搭配的是keras2.4.3
然后转换模型输入代码
python convert.py yolov3.cfg yolov3.weights model_data/yolo.h5
生成
yolo.h5
(6)train.py
接下来我们要开始训练了
1)voc_classes.txt和coco_classes.txt
修改model_data下的voc_classes.txt为自己训练的类别
修改model_data下的coco_classes.txt为自己训练的类别
2)修改train.py
3)修改yolo3.cfg
修改yolo3.cfg文件参数
1.Pycharm打开yolo3.cfg
2.快捷键Ctrl + F 查找yolo(一共3个yolo),每一处的filter 、classes、random都需做相应更改
filter = 3*(len(classes)+5) #我这里只有一类,所以是18
classes = 1 #有几类写几类
random = 0 #显存小设为0,否则为1
4)问题No module named 'PIL'
pip install pillow
pip install matplotlib
5)问题 module 'keras.backend' has no attribute 'control_flow_ops'
找到这行代码
#源代码
_, ignore_mask = K.control_flow_ops.while_loop(lambda b,*args: b<m, loop_body, [0, ignore_mask])#修改后
_, ignore_mask = tf.while_loop(lambda b,*args: b<m, loop_body, [0, ignore_mask])
(7)开始训练模型