train.py参数介绍
1.
parser.add_argument('--evolve', type=int, nargs='?', const=300, help='evolve hyperparameters for x generations')
--evolve 超参数的一种调整方式,设为默认即可
2.
parser.add_argument('--bucket', type=str, default='', help='gsutil bucket')
--bucket 作者一开始将一些参数放到谷歌云盘上,现在不需要了
3.
parser.add_argument('--cache', type=str, nargs='?', const='ram', help='image --cache ram/disk')
--cache 是否缓存图片提高速率 默认不开启
4.
parser.add_argument('--image-weights', action='store_true', help='use weighted image selection for training')
--image-weights 对于上一轮测试图片效果不好的类别会增加权重,默认就好,作者测试发现效果不是很理想。
5.
parser.add_argument('--device', default='', help='cuda device, i.e. 0 or 0,1,2,3 or cpu')
--device 默认就好
6.
parser.add_argument('--multi-scale', action='store_true', help='vary img-size +/- 50%%')
--multi-scale 对图片尺寸进行变换
7.
parser.add_argument('--single-cls', action='store_true', help='train multi-class data as single-class')
--single-cls 训练的种类是单类别还是多类别
8.
parser.add_argument('--optimizer', type=str, choices=['SGD', 'Adam', 'AdamW'], default='SGD', help='optimizer')
--optimizer 优化器,默认SGD
9.
parser.add_argument('--sync-bn', action='store_true', help='use SyncBatchNorm, only available in DDP mode')
parser.add_argument('--workers', type=int, default=0, help='max dataloader workers (per RANK in DDP mode)')
DDP 多GPU进行分布式训练
--workers 建议修改为0
10.
parser.add_argument('--project', default=ROOT / 'runs/train', help='save to project/name')
--project 训练后保存权重的文件所在地址
11.
parser.add_argument('--entity', default=None, help='Entity')
--entity W&B 绘图库 默认就好
12.
parser.add_argument('--name', default='exp', help='save to project/name')
--name 训练后权重文件夹的名字,默认exp,位于project下
13.
parser.add_argument('--exist-ok', action='store_true', help='existing project/name ok, do not increment')
--exist-ok 设置为True 则权重只会保存在Project/exp 下面,而不会累加
14.
parser.add_argument('--quad', action='store_true', help='quad dataloader')
--quad 对于尺寸大于640的图片可以提升效果,对于640的效果会变差
15.
parser.add_argument('--cos-lr', action='store_true', help='cosine LR scheduler')
--cos-lr 默认设置为false,默认位线性的学习率
16.
parser.add_argument('--label-smoothing', type=float, default=0.0, help='Label smoothing epsilon')
--label-smoothing 防止过拟合的产生,标签平滑
总结
权重为yolov5s.pt
配置文件(网络架构)为:models/yolov5s.yaml
数据存放地址:data/coco128.yaml coco数据集前128张图片
超参数为:data/hyp.scratch.yaml 专门用于coco数据集训练的配置参数
epoch:训练轮数300轮
batchsize:每次加载16张图片
imgsize:图片大小为640
rect:不采用矩形训练
resume:不继续训练