1、整体项目
1.1 环境
- 一个有debug功能的IDE,建议Pycharm
- PyTorch深度学习开发环境
- 下载COCO数据集:
- 训练集,是很大的数据
- 验证集,是很大的数据
1.2 数据
依次进入以下地址:
项目位置\PyTorch-YOLOv3\data\coco\images,一共有两个文件:
进入训练集:
训练集有8万张图片,验证集有4万张。
进入标签数据中(项目位置\PyTorch-YOLOv3\data\coco\labels\labels\train2014):
随便打开一个,记录的都是坐标:
选中标签文件的名字,在数据中搜索,可以搜索到对应的:
也就是说数据和标签的名字都是一一对应的。
如图所示,当前的图片,在标签中有8行数据,意味着图片中有8个物体被框住,而且已经被标注了位置(对角线两个点的坐标确定了框)
在这里还有一个文件:trainvalno5k.txt,记录了所有训练数据的路径,这是读数据的路径
1.3 配置文件
在这里有一个配置文件:项目位置\PyTorch-YOLOv3\config\yolov3.cfg
主要包括了一些参数,还有所有网络模型的结构的参数:
[convolutional]
batch_normalize=1
filters=64
size=3
stride=1
pad=1
activation=leaky
最后还有一个yolo层,9个候选框:
[yolo]
mask = 0,1,2
anchors = 10,13, 16,30, 33,23, 30,61, 62,45, 59,119, 116,90, 156,198, 373,326
classes=80
num=9
jitter=.3
ignore_thresh = .7
truth_thresh = 1
random=1
2、配置运行参数:
需要指定以下参数才能运行(新版pycharm配置运行参数教程):
–data_config config/coco.data
–pretrained_weights weights/darknet53.conv.74
pretrained_weights weights/darknet53.conv.74,表示用一个已经预训练的模型做初始化操作。
在这里有一个coco.data文件:项目位置\PyTorch-YOLOv3\config\coco.data
classes= 80
train=data/coco/trainvalno5k.txt
valid=data/coco/5k.txt
names=data/coco.names
backup=backup/
eval=coco
这个文件记录了当前训练所有需要的信息,比如:
- 80分类任务
- 训练数据(存了训练数据路径的文件)
- 验证数据
简要流程介绍:
- 配置所有参数
- 模型构造(模型怎么定义的,前向传播是怎么走的)
- 读进预训练模型和数据
- 训练