yolov8 val/test,输出全部预测的图片和PR 结果

(1)从官网下载的 yolov8,进行 val时,只输出batch   0 1 2 3 。其他的 预测图片不输出。

想要输出全部的val图片,请进行以下修改:

/ultralytics-8.1.0/ultralytics/engine/validator.py  第187行 

#if self.args.plots and batch_i < 3:   #将batch_i<3 去掉
#如下:
 if self.args.plots:   
      self.plot_val_samples(batch, batch_i)
       self.plot_predictions(batch, preds, batch_i)

源码中,batch_i<3 去掉,然后所有的预测图像就可以全部输出了。 

另外,val.py中,batch ,可以设置为16,然后得到的预测图片中,是4*4。

(2val.py输出 PR曲线

yolov8源码中,val.py运行后,只会得到jpg图片,并没有PR曲线等。

如果想获取PR曲线等,按照下面修改:

/ultralytics-8.1.0/ultralytics/models/yolo/detect/val.py 

大约在80行,增加代码:

def get_desc(self):
        """Return a formatted string summarizing class metrics of YOLO model."""
      
### 使用YOLOv8进行训练测试 #### 准备环境与安装依赖库 为了使用YOLOv8框架,需先设置好开发环境并安装必要的Python包。通常情况下,官方文档会提供详细的指南来帮助完成这一过程[^1]。 对于基于PyTorch实现的对象检测算法而言,在开始之前应当确认已正确设置了CUDA版本以及相应的cuDNN支持,以确保GPU加速功能正常工作。此外,还需通过pip工具安装`ultralytics/yolov5`仓库中的预构建轮子文件或其他形式发布的YOLOv8特定版本(假设存在这样的发布渠道),这一步骤可以通过访问项目主页获取最新指导说明[^2]。 #### 数据集准备 在启动训练流程前,准备好合适的数据集至关重要。考虑到不同应用场景的需求差异较大,因此建议按照目标领域特点收集图像样本,并标注出感兴趣的目标边界框及其类别信息。值得注意的是,当处理少量标记实例时可以借鉴少样本学习方法论下的技术手段,比如采用迁移学习策略初始化网络参数或引入额外辅助任务增强泛化能力[^3]。 针对TensorFlow生态系统的实践者来说,则可能更倾向于遵循其特有的数据流管理方式——即创建TFRecord格式的输入管道;而对于YOLO系列模型用户而言,一般推荐直接利用原始图片路径列表配合简单的CSV/JSON描述文件作为输入源[^4]。 #### 配置超参数及选项设定 进入实际编码环节之后,编写配置文件定义各项运行期参数成为首要任务之一。这些参数涵盖了但不限于: - **batch size**: 控制每次迭代所使用的样本次数; - **epochs number**: 设定整个训练周期长度; - **learning rate schedule**: 调整优化器的学习率变化规律; - **pretrained weights path**: 如果适用的话加载预先训练好的权重矩阵加快收敛速度; - **input resolution**: 设置输入给神经网络层处理之前的分辨率大小调整规则。 具体到YOLO架构下还涉及到锚点框尺寸的选择等问题,这部分内容往往已经由开发者们经过大量实验总结出了较为通用的经验值供参考选用。 ```yaml # Example configuration snippet for yolov8 training setup. train: batch_size: 16 epochs: 300 lr0: 0.01 # initial learning rate (SGD=1E-2, Adam=1E-3) lrf: 0.1 # final OneCycleLR learning rate (lr0 * lrf) model: anchors: - [10,13, 16,30, 33,23] - [30,61, 62,45, 59,119] - [116,90, 156,198, 373,326] data: train: ./datasets/train.txt val: ./datasets/val.txt ``` #### 启动训练进程 一旦上述准备工作全部就绪,就可以调用命令行接口执行正式的训练指令了。大多数时候只需要简单指定几个关键性的CLI flags即可满足需求,例如指向刚才编辑完毕后的`.yaml`配置文件位置、输出日志保存目录等基本信息。 ```bash python train.py --img 640 --batch 16 --epochs 300 --data coco.yaml --weights yolov8.pt ``` 此过程中可能会遇到各种各样的挑战,包括但不限于硬件资源不足引起的OOM错误、过拟合现象严重导致验证集性能下降等等。面对这些问题时不妨尝试调节部分敏感度较高的超参组合或是探索其他有效的正则化措施加以应对。 #### 测试评估阶段 完成了充分次数的有效更新后便进入了最后一个重要步骤——对新学到的知识体系进行全面检验。此时可借助于内置脚本快速生成预测结果并与真实情况对比分析,从而定量评价当前模型的好坏程度。除了计算mAP指标外还可以绘制PR曲线直观展示查准率同召回率之间的权衡关系。 ```bash python detect.py --source inference/images/bus.jpg --weights runs/train/exp/weights/best.pt --conf 0.25 --iou 0.45 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值