yolov8-03训练自己的数据集并保存推理结果

目标:将推理结果保存为xyxy形式,并以 pkl 格式保存

主要采取了两种方式,一种是阅读源码,通过CIL的方式保存结果。
一种是在IDE内,通过python代码的形式。

  1. 查看推理相关的源码,探索保存结果的相关信息。
    在文件 ultralytics-main\ultralytics\yolo\engine 中
  2. 在IDE中运行python

1. 分析源码

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. 通过CIL形式运行并对源码进行修改

a. 在这里插入图片描述在这里插入图片描述
获得的坐标结果是归一化后的结果,不是目标理想结果。

results 中有关于坐标转换的信息,进而发现具体内容在utils.ops中。
在这里插入图片描述

ops 中:

在这里插入图片描述
本项目目标:返回 xyxy 格式。
data 中原本格式应该就是 xyxy
在这里插入图片描述

做如下修改,将xywhn 改为xyxy
在这里插入图片描述
CIL运行:

yolo detect predict model=C:\WORK\puniu\yolo\trafficmodel\traffic_das581_yolo8.pt source=C:\WORK\puniu\yolo\data\partdata save_txt=True save_conf=True

sad ,坐标没有变成原图坐标
在这里插入图片描述
继续修改

3. IDE 内运行python代码

ps : 转步IDE,格式
在IDE中使用代码的方式读取和保存。
https://docs.ultralytics.com/modes/predict/

from ultralytics import YOLO

# Load a model
model = YOLO('yolov8n.pt')  # pretrained YOLOv8n model

# Run batched inference on a list of images
results = model(['im1.jpg', 'im2.jpg'])  # return a list of Results objects

# Process results list
for result in results:
    boxes = result.boxes  # Boxes object for bbox outputs
    masks = result.masks  # Masks object for segmentation masks outputs
    keypoints = result.keypoints  # Keypoints object for pose outputs
    probs = result.probs  # Class probabilities for classification outputs
import pickle

# Load a model
model = YOLO('traffic_das581_yolo8.pt')  # pretrained YOLOv8n model

# Run batched inference on a list of images
#results = model("20230621-163105-0.bmp")  # return a list of Results objects
results = model("..//data")  # return a list of Results objects
preds=[]
# Process results list
for result in results:
    boxes = result.boxes  # Boxes object for bbox outputs
    pred = boxes.data
    preds.append(pred)

with open('my_listv8.pkl', 'wb') as f22:
    pickle.dump(preds, f22)

查看result,会有大惊喜,yolo8真的太仙了,里面包含各种形式的输出结果
xyxy xywh xywhn cls conf 等,想要的结果都有。

在这里插入图片描述

并且,result.save_txt 也可也直接将结果保存为txt。 在IDE中运行时,之前对results.py做的修改就可以起作用,输出未归一化之前的xyxy。
但是还是不能理解,为什么在CMD 里通过CIL的形式结果不对。

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
保存yolov5训练自己的数据集的分割结果,你可以按照以下步骤进行操作: 1. 首先,复制yolov5s.yaml文件并将其重命名为yolov5s_bm。修改该文件中的类别数为你自己数据集的类别数。 2. 接下来,使用以下参数复制粘贴命令,以训练yolov5模型并保存分割结果: --data data/voc_bm.yaml --cfg models/yolov5s_bm.yaml --weights '' --batch-size 16 --epochs 100 --workers 4 --name yolov5s 其中,--data参数指定了数据集的配置文件,--cfg参数指定了模型的配置文件,--weights参数用于加载预训练的权重,--batch-size参数指定了每个批次的样本数,--epochs参数指定了训练的轮数,--workers参数指定了用于数据加载的线程数,--name参数指定了保存训练结果的文件夹名称。 3. 在训练过程中,yolov5模型会自动保存训练结果,包括训练过程中的损失、模型权重等信息。你可以在指定的保存结果文件夹中找到这些文件。 4. 如果你想要保存预测结果,可以在训练完成后使用训练好的模型进行预测,并将预测结果保存到指定的文件中。可以使用yolov5提供的推理脚本进行预测,并指定保存结果的路径。 通过按照上述步骤进行操作,你就可以保存yolov5训练自己数据集的分割结果了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [YOLOv5训练自己数据集(详细易懂版)](https://blog.csdn.net/m0_60985598/article/details/131048096)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [yolov8目标检测训练自己的数据集(完整源码+数据).rar](https://download.csdn.net/download/m0_62143653/87767047)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

闪闪发亮的小星星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值