1.因为之前训练过YOLOv8,所以环境就不用重新配了
2.下载YOLOv3代码:YOLOv3-github
下载好v9.5.0版本的代码,解压出来。
3.在解压出来的目录下新建一个文件夹命名为VOCdevkit,再在这个文件夹下面建两个文件夹images和labels,images和labels里面分别包含三个文件夹train、val和test,其实就可以直接把YOLOv8的YOLO格式数据集复制到VOCdevkit里面。images的格式是jpg,labels的格式的txt。
4.前一步过后数据集就放好了,接下来创建一个数据集的配置文件data.yaml,放在data的文件夹里面。(我自己随便取的名字叫voc.yaml,后面训练的时候填的voc.yaml就是这一步得到的yaml文件)
# train and val data as 1) directory: path/images/, 2) file: path/images.txt, or 3) list: [path1/images/, path2/images/]
path: E:\fz(yolov3)\yolov3-9.5.0\VOCdevkit
train: E:\fz(yolov3)\yolov3-9.5.0\VOCdevkit\images\train # 16551 images
val: E:\fz(yolov3)\yolov3-9.5.0\VOCdevkit\images\val # 4952 images
test: E:\fz(yolov3)\yolov3-9.5.0\VOCdevkit\images\test
# number of classes
nc: 1
# class names
names: [ 'transformer' ]
#path是放置用于训练数据集的根目录
#train是放置训练的图片的路径
#val是放置验证的图片的路径
#test是放置测试的图片的路径
#nc要改为自己所训练的类别个数
#names是自己所训练的类别
5.修改model的配置文件。在models的文件夹里面,想跑哪个模型就修改哪个模型的yaml文件。把nc改为自己要检测的类别个数。
6.修改train.py文件。预训练权重:预训练权重下载
7.直接运行train.py就可以了。