yolov5 tain.py部分源码详解
``
if __name__ == '__main__':
parser = argparse.ArgumentParser()
#模型的训练权重
parser.add_argument('--weights', type=str, default='yolov5s.pt', help='initial weights path')
#模型的配置文件
parser.add_argument('--cfg', type=str, default='', help='model.yaml path')
#数据集的配置文件
parser.add_argument('--data', type=str, default='data/coco128.yaml', help='dataset.yaml path')
#超参数配置文件
parser.add_argument('--hyp', type=str, default='data/hyp.scratch.yaml', help='hyperparameters path')
#模型训练的总代数
parser.add_argument('--epochs', type=int, default=300)
#一次加载的图片大小
parser.add_argument('--batch-size', type=int, default=16, help='total batch size for all GPUs')
#训练与测试的图片尺寸
parser.add_argument('--img-size', nargs='+', type=int, default=[640, 640], help='[train, test] image sizes')
#是否使用矩形训练,默认为False
parser.add_argument('--rect', action='store_true', help='rectangular training')
#断开后继续原有last.pt训练
parser.add_argument('--resume', nargs='?', const=True, default=False, help='resume most recent training')
#只保留最后一次的训练,默认为False
parser.add_argument('--nosave', action='store_true', help='only save final checkpoint')
#只对最后一次进行测试,默认为False
parser.add_argument('--notest', action='store_true', help='only test final epoch')
#不进行自适应锚框,默认为False
parser.add_argument('--noautoanchor', action='store_true', help='disable autoanchor check')
#是否进行超参数进化,默认为False,主要使用的是遗传算法,最好不进行,耗费太多资源
parser.add_argument('--evolve', action='store_true', help='evolve hyperparameters')
#谷歌云盘bucket
parser.add_argument('--bucket', type=str, default='', help='gsutil bucket')
#缓存图像以加快训练速度
parser.add_argument('--cache-images', action='store_true', help='cache images for faster training')
#是否选用加权图像进行训练???
parser.add_argument('--image-weights', action='store_true', help='use weighted image selection for training')
#训练的设备
parser.add_argument('--device', default='', help='cuda device, i.e. 0 or 0,1,2,3 or cpu')
#是否进行多尺度训练
parser.add_argument('--multi-scale', action='store_true', help='vary img-size +/- 50%%')
#是否为单个类别
parser.add_argument('--single-cls', action='store_true', help='train multi-class data as single-class')
#是否使用Adam优化器
parser.add_argument('--adam', action='store_true', help='use torch.optim.Adam() optimizer')
#是否使用跨卡同步BN, 在DDP模式使用
parser.add_argument('--sync-bn', action='store_true', help='use SyncBatchNorm, only available in DDP mode')
#gpu编号
parser.add_argument('--local_rank', type=int, default=-1, help='DDP parameter, do not modify')
#dataloader的最大worker数量
parser.add_argument('--workers', type=int, default=8, help='maximum number of dataloader workers')
#保存训练结果的路径
parser.add_argument('--project', default='runs/train', help='save to project/name')
parser.add_argument('--entity', default=None, help='W&B entity')
#保存训练结果文件名
parser.add_argument('--name', default=