一、下载相关文件
1.下载预训练权重文件
YOLOv3使用在Imagenet上预训练好的模型参数的基础上继续训练。
下载链接为https://pjreddie.com/media/files/darknet53.conv.74
或使用wget命令下载:
wget https://pjreddie.com/media/files/darknet53.conv.74
2.下载YOLOv3工程项目
下载链接为https://github.com/pjreddie/darknet
或者
git clone https://github.com/pjreddie/darknet
ps:可以修改Makefile文件达到是否使用GPU加速、opencv等。
在darknet目录下执行make。
3.下载预训练模型(简单测试yolov3)
下载链接为https://pjreddie.com/media/files/yolov3.weights
或者
wget https://pjreddie.com/media/files/yolov3.weights
用预训练模型进行简单的测试:
./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
二、准备训练数据集
1.打标自己的数据
打标工具推荐使用 labelImg,下载链接为https://github.com/tzutalin/labelImg
或者
git clone https://github.com/tzutalin/labelImg
打标工具的具体使用自行查找。
2.数据集分类
训练集(train set) —— 用于模型拟合的数据样本。
验证集(development set)—— 是模型训练过程中单独留出的样本集,它可以用于调整模型的超参数和用于对模型的能力进行初步评估。
在神经网络中, 我们用验证数据集去寻找最优的网络深度(number of hidden layers),或者决定反向传播算法的停止点或者在神经网络中选择隐藏层神经元的数量;
在普通的机器学习中常用的交叉验证(Cross Validation) 就是把训练数据集本身再细分成不同的验证数据集去训练模型。
测试集 —— 用来评估模最终模型的泛化能力。但不能作为调参、选择特征等算法相关的选择的依据。
3.打包训练数据集
按下列文件夹结构