1、在yolov的同等目录下创建一个自己的数据集文件夹,存放自己的数据集(dataset);
2、在dataset数据文件夹里(coco128)创建(train2017)存放:imasges(存放需要训练的原图片.jpg格式),
labels(存放标注结果的.txt文件)文件夹;
(标注工具makesense.ai或使用labelImg-master(在D盘K210中的标记工具))
3、将对yolov5项目文件中的\data下的.yaml文件;\model下yolov5s.yaml,yolov5-master\tarin.py相关文件进行改动
4、coco128.yaml---coco128 copy.yaml(复制-重命名)
nc: 80(使用标注的时候用到的类别数)
names: [
]#以标注工具取的名字为准(标注的类别名称)labelImg-master--data--predefined_classes.txt类别名称
5、yolov5有许多权重文件想要用哪个权重文件就修改哪个文件中的nc值,nc就是我们标注类别的数量:yolov5s.yaml(最小速度最快);
6、tarin.py的修改:
parser.add_argument('--weights', type=str, default='yolov5s.pt',
help='initial weights path')#default='*'选择我们训练用的权重文件;
parser.add_argument('--cfg', type=str, default='models/yolov5s.yaml',
help='model.yaml path')# default='*'输入我们需要用到的权重文件的配置文件;
parser.add_argument('--data', type=str, default='data/coco128 copy.yaml',
help='data.yaml path')# default='*'填写我们自己修改后的标注配置文件路径;
parser.add_argument('--batch-size', type=int, default=16, help='total
batch size for all GPUs')#default= 显卡不好的可以调低每次训练图片的数量,显卡好的可以尝试更高数
parser.add_argument('--img-size', nargs='+', type=int, default=[640,
640], help='[train, test] image sizes')
#, default=[640, 640]也可以填320,320,不过要求得到更好的训练数据可以选择默认的640,640
参数:
epochs:指的就是训练过程中整个数据集将被迭代多少次,显卡不行你就调小点。
batch-size:一次看完多少张图片才进行权重更新,梯度下降的mini-batch,显卡不行你就调小点。
cfg:存储模型结构的配置文件
data:存储训练、测试数据的文件
img-size:输入图片宽高,显卡不行你就调小点。
rect:进行矩形训练
resume:恢复最近保存的模型开始训练
nosave:仅保存最终checkpoint
notest:仅测试最后的epoch
evolve:进化超参数
bucket:gsutil bucket
cache-images:缓存图像以加快训练速度
weights:权重文件路径
name: 重命名results.txt to results_name.txt
device:cuda device, i.e. 0 or 0,1,2,3 or cpu
adam:使用adam优化
multi-scale:多尺度训练,img-size +/- 50%
single-cls:单类别的训练集