yolov5的argument使用教程

这篇博客详细介绍了YOLOv5模型的参数设置,包括预训练模型、输入源、图像大小、置信度阈值、IoU阈值等关键参数。通过这些参数,用户可以调整模型的检测性能和速度。此外,还涵盖了硬件设备选择、结果保存方式以及可视化选项,为实际应用提供了灵活的配置方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

--weights:预训练模型参数,默认采用的是yolov5s.pt,自动从官网为官网上下载,并存放到yolo v5当前的工作目录中。

parser.add_argument('--source', type=str, default=ROOT / 'data/images', help='file/dir/URL/glob, 0 for webcam')
--source:指定需要检测的源图片文件,支持的类型有:本地图片文件、本地视频、本地摄像头、远程图片文件、还可以是一个包含各种文件的目录。

parser.add_argument('--imgsz', '--img', '--img-size', nargs='+', type=int, default=[640], help='inference size h,w')
--imgsz:指定image的大小,默认为640 * 640, size越大,像素越多,需要的内存越多,速度越慢, 准确率越高。

parser.add_argument('--conf-thres', type=float, default=0.25, help='confidence threshold')
--conf-thres:置信度的门限,超过这个门限,算法才认为是有物体,低于该门限,认为没有物体。

parser.add_argument('--iou-thres', type=float, default=0.45, help='NMS IoU threshold')
--iou-thres:非极大值抑制NMS算法帅选目标时,其IoU门限。超过该门限,认为两个框重复定位同一个目标。

parser.add_argument('--max-det', type=int, default=1000, help='maximum detections per image')
--max-det:每个图片支持的最大检测的目标数,从YOLO V3开始,算法上最大可以支持507 + 2028 + 8112 = 10647个目标,而实际系统,可能不需要这么多目标,这里设定支持的最大目标数,目标数越大,所需要内存空间越大。

parser.add_argument('--device', default='', help='cuda device, i.e. 0 or 0,1,2,3 or cpu')
--device:指定进行预测的硬件GPU还是CPU, 如果是GPU,使用哪个GPU, 在GPU内部资源不足的情况下,可以通过这种方式转为CPU进行预测,在降低性能的情况下,确保能够功能的正常运行。

parser.add_argument('--view-img', action='store_true', help='show results')
--view-img:是否需要存储当前的检测结果,还是进行可视化显示,不需要存储预测结果,测试时,需要存储执行结果。

parser.add_argument('--save-txt', action='store_true', help='save results to *.txt')
--save-txt:是否需要把执行结果,写到txt文件中,当然是指执行的log文件。

parser.add_argument('--save-conf', action='store_true', help='save confidences in --save-txt labels')
--save-conf:是否需要把检测到的置信度写保存到文件中。

parser.add_argument('--save-crop', action='store_true', help='save cropped prediction boxes')
--save-crop:是否需要保存经过裁剪过的预测框。

parser.add_argument('--nosave', action='store_true', help='do not save images/videos')
--nosave:不需要保存预测结果的图片文件或视频文件。

parser.add_argument('--project', default=ROOT / 'runs/detect', help='save results to project/name')
--project:指定需要把运行的结果存放到哪个根目录中。

parser.add_argument('--update', action='store_true', help='update all models')
--update:如果为True,则对所有模型进行strip_optimizer操作,去除pt文件中的优化器等信息,默认为False。

parser.add_argument('--name', default='exp', help='save results to project/name')
--name:指定每次运行的结果存放在哪个实际目录中,该目录为动态生成,每次增加一个序号,比如,当前是exp20,下一次预测就是exp21。

parser.add_argument('--line-thickness', default=3, type=int, help='bounding box thickness (pixels)')
--line-thickness:Bounding Box的厚度,即每个等级的Bounding Box,支持几个子等级,默认情况下,Bounding Box分为三层:大、中、小三种尺寸,每个层再分为3个字等级

parser.add_argument('--visualize', action='store_true', help='visualize features')
--visualize:是否需要可视化结果

parser.add_argument('--half', action='store_true', help='use FP16 half-precision inference')
--half:半精度预测,提升执行效率,默认情况下,采用位置信息采用Float32编码,精度高,运算时间长 。对于效率优先的场合,比如实时性要求高的嵌入式系统,就可以采用Float16的位置编码。

parser.add_argument('--dnn', action='store_true', help='use OpenCV DNN for ONNX inference')
--dnn:Open Neural Network Exchange(ONNX,开放神经网络交换), 该参数定义是否需要使用OpenCV DNN。

parser.add_argument('--hide-labels', default=False, action='store_true', help='hide labels')
--hide-labels:在输出训练图片时,是否需要隐藏样本图片的定位框标签

parser.add_argument('--hide-conf', default=False, action='store_true', help='hide confidences')
--hide-conf:在输出训练图片时,是否需要隐藏样本图片的置信度标签

parser.add_argument('--classes', nargs='+', type=int, help='filter by class: --classes 0, or --classes 0 2 3')
 

if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument('--weights', nargs='+', type=str, default='weights\yolov5l.pt', help='model.pt path(s)')
    parser.add_argument('--source', type=str, default='data\images', help='source')  # file/folder, 0 for webcam
    parser.add_argument('--img-size', type=int, default=640, help='inference size (pixels)')
    parser.add_argument('--conf-thres', type=float, default=0.25, help='object confidence threshold')
    parser.add_argument('--iou-thres', type=float, default=0.45, help='IOU threshold for NMS')
    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='display results',default=True)
    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('--nosave', action='store_true', help='do not save images/videos')
    parser.add_argument('--classes', nargs='+', type=int, help='filter by class: --class 0, or --class 0 2 3',metavar=)
    parser.add_argument('--agnostic-nms', action='store_true', help='class-agnostic NMS')
    parser.add_argument('--augment', action='store_true', help='augmented inference')
    parser.add_argument('--update', action='store_true', help='update all models')
    parser.add_argument('--project', default='runs/detect', help='save results to project/name')
    parser.add_argument('--name', default='exp', help='save results to project/name')
    parser.add_argument('--exist-ok', action='store_true', help='existing project/name ok, do not increment')
03-13
### YOLOv5m 模型的使用教程、参数配置及下载 #### 下载YOLOv5m模型 对于希望使用YOLOv5m预训练模型的情况,推荐访问官方GitHub页面上的最新发布版本来获取该模型。具体操作为定位至最近一次发布的资源列表,在Assets部分可以发现并点击下载`.pt`文件,此即为PyTorch格式的模型文件[^2]。 #### 配置YOLOv5m模型 当采用YOLOv5m作为基础架构时,应当注意其特有的结构差异于其他变体如YOLOv5s。因此,为了适配这一特定型号,需利用位于项目`models`目录下名为`yolov5m.yaml`的配置文档中的设定值[^1]。建议创建一个新的配置副本,并依据个人需求调整名称,比如更改为`custom_model.yaml`以便区分原始设置与自定义更改。 #### 修改训练脚本以适应新模型 针对训练过程而言,涉及到了解如何编辑`train.py`内的若干关键选项。确保正确指定了所使用的权重路径以及上述提到的新建或修改过的配置文件位置。同样重要的是指定数据集描述符的位置——这通常是一个类似于`data/hat.yaml`这样的文件,它包含了类别标签和其他元信息。 ```python # train.py 中的部分代码片段展示如何传递这些参数给训练流程 if __name__ == '__main__': parser = argparse.ArgumentParser() parser.add_argument('--weights', type=str, default='path_to_your_weights/yolov5m.pt') # 权重路径 parser.add_argument('--cfg', type=str, default='models/custom_model.yaml') # 自定义配置文件路径 parser.add_argument('--data', type=str, default='data/hat.yaml') # 数据集配置文件路径 opt = parser.parse_args() main(opt) ``` 通过以上步骤,能够有效地准备和启动基于YOLOv5m框架的目标检测任务。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值