YOLOv5-6.0的一些参数设置
detect.pytrain.py
YOLOv5-6.0的一些参数设置 detect.pydef parse_opt(): parser = argparse.ArgumentParser() # 模型 parser.add_argument('--weights', nargs='+', type=str, default=ROOT / 'yolov5s.pt', help='model path(s)') # parser.add_argument('--weights', nargs='+', type=str, default=ROOT / 'yolov5l.pt', help='model path(s)') # 需要detect的文件:图片、视频 parser.add_argument('--source', type=str, default=ROOT / 'data/images', help='file/dir/URL/glob, 0 for webcam') # train dataset的标签 parser.add_argument('--data', type=str, default=ROOT / 'data/coco128.yaml', help='(optional) dataset.yaml path') parser.add_argument('--imgsz', '--img', '--img-size', nargs='+', type=int, default=[640], help='inference size h,w') # 相信是一个class的阈值 parser.add_argument('--conf-thres', type=float, default=0.25, help='confidence threshold') # IoU parser.add_argument('--iou-thres', type=float, default=0.45, help='NMS IoU threshold') parser.add_argument('--max-det', type=int, default=1000, help='maximum detections per image') parser.add_argument('--device', default='', help='cuda device, i.e. 0 or 0,1,2,3 or cpu') parser.add_argument('--view-img', action='store_true', help='show results') parser.add_argument('--save-txt', action='store_true', help='save results to *.txt') parser.add_argument('--save-conf', action='store_true', help='save confidences in --save-txt labels') parser.add_argument('--save-crop', action='store_true', help='save cropped prediction boxes') parser.add_argument('--nosave', action='store_true', help='do not save images/videos') # 只看某些classes parser.add_argument('--classes', nargs='+', type=int, help='filter by class: --classes 0, or --classes 0 2 3') parser.add_argument('--agnostic-nms', action='store_true', help='class-agnostic NMS') # 模型增强,如果指定就设置为True parser.add_argument('--augment', action='store_true', help='augmented inference') parser.add_argument('--visualize', action='store_true', help='visualize features') # 去掉网络模型不需要的部分 parser.add_argument('--update', action='store_true', help='update all models') # 保存的文件名 parser.add_argument('--project', default=ROOT / 'runs/detect', help='save results to project/name') parser.add_argument('--name', default='exp', help='save results to project/name') # 是否放到单独的文件夹 True:do not increment parser.add_argument('--exist-ok', action='store_true', help='existing project/name ok, do not increment') parser.add_argument('--line-thickness', default=3, type=int, help='bounding box thickness (pixels)') parser.add_argument('--hide-labels', default=False, action='store_true', help='hide labels') parser.add_argument('--hide-conf', default=False, action='store_true', help='hide confidences') parser.add_argument('--half', action='store_true', help='use FP16 half-precision inference') parser.add_argument('--dnn', action='store_true', help='use OpenCV DNN for onNX inference') opt = parser.parse_args() opt.imgsz *= 2 if len(opt.imgsz) == 1 else 1 # expand print_args(FILE.stem, opt) return opttrain.py
def parse_opt(known=False): parser = argparse.ArgumentParser() # 训练好的模型,设置为空则从头训练 parser.add_argument('--weights', type=str, default=ROOT / 'yolov5s.pt', help='initial weights path') # 模型的参数配置, 如models/yolov5s.yaml parser.add_argument('--cfg', type=str, default='', help='model.yaml path') # dataset path(标签文件) parser.add_argument('--data', type=str, default=ROOT / 'data/coco128.yaml', help='dataset.yaml path') # 超参数,对模型参数进行微调 parser.add_argument('--hyp', type=str, default=ROOT / 'data/hyps/hyp.scratch.yaml', help='hyperparameters path') # 训练轮数 parser.add_argument('--epochs', type=int, default=300) # --batch-size parser.add_argument('--batch-size', type=int, default=16, help='total batch size for all GPUs, -1 for autobatch') # img-size parser.add_argument('--imgsz', '--img', '--img-size', type=int, default=640, help='train, val image size (pixels)') # 非矩阵大小图片处理方式 parser.add_argument('--rect', action='store_true', help='rectangular training') # 是否从最新的训练模型继续训练, default="path"(需要完整的配置) parser.add_argument('--resume', nargs='?', const=True, default=False, help='resume most recent training') # 只保存最后一次训练模型? parser.add_argument('--nosave', action='store_true', help='only save final checkpoint') # 只测试最后一次训练模型? parser.add_argument('--noval', action='store_true', help='only validate final epoch') # 锚点 parser.add_argument('--noautoanchor', action='store_true', help='disable AutoAnchor') # “进化”超参数 parser.add_argument('--evolve', type=int, nargs='?', const=300, help='evolve hyperparameters for x generations') # ----不用管---- parser.add_argument('--bucket', type=str, default='', help='gsutil bucket') # 是否缓存图片,方便训练 parser.add_argument('--cache', type=str, nargs='?', const='ram', help='--cache images in "ram" (default) or "disk"') # 对上一轮测试效果不好的加一些权重,效果不好说 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') # 优化器设置 parser.add_argument('--optimizer', type=str, choices=['SGD', 'Adam', 'AdamW'], default='SGD', help='optimizer') # 多GPU parser.add_argument('--sync-bn', action='store_true', help='use SyncBatchNorm, only available in DDP mode') # 进程数 # parser.add_argument('--workers', type=int, default=8, help='max dataloader workers (per RANK in DDP mode)') parser.add_argument('--workers', type=int, default=0, help='max dataloader workers (per RANK in DDP mode)') # 保存路径 parser.add_argument('--project', default=ROOT / 'runs/train', help='save to project/name') parser.add_argument('--name', default='exp', help='save to project/name') parser.add_argument('--exist-ok', action='store_true', help='existing project/name ok, do not increment') # 数据处理方式 parser.add_argument('--quad', action='store_true', help='quad dataloader') # learning rate parser.add_argument('--linear-lr', action='store_true', help='linear LR') # 标签平滑 parser.add_argument('--label-smoothing', type=float, default=0.0, help='Label smoothing epsilon') parser.add_argument('--patience', type=int, default=100, help='EarlyStopping patience (epochs without improvement)') parser.add_argument('--freeze', nargs='+', type=int, default=[0], help='Freeze layers: backbone=10, first3=0 1 2') # 保存W$B日志 parser.add_argument('--save-period', type=int, default=-1, help='Save checkpoint every x epochs (disabled if < 1)') parser.add_argument('--local_rank', type=int, default=-1, help='DDP parameter, do not modify') # Weights & Biases arguments parser.add_argument('--entity', default=None, help='W&B: Entity') parser.add_argument('--upload_dataset', nargs='?', const=True, default=False, help='W&B: Upload data, "val" option') parser.add_argument('--bbox_interval', type=int, default=-1, help='W&B: Set bounding-box image logging interval') parser.add_argument('--artifact_alias', type=str, default='latest', help='W&B: Version of dataset artifact to use') opt = parser.parse_known_args()[0] if known else parser.parse_args() return opt
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)