【精度无损】使用YOLOv8 PT原始文件实现推理预测

系统化学习YOLOv8,玩转YOLOv8的分类、对象检测、实例分割、姿态评估、OBB检测、目标跟踪 六大模块,猛戳这里:
人工智能应用开发之YOLOv8全家桶合集课程

前言

今天有个人发我一个YOLOv8分类的ONNX格式文件,跟我说测试效果很拉跨,但是直接用PT文件,通过命令行效果还错,让他万分郁闷。其实Pytorch模型是支持直接使用原始的PT文件推理的,无论模型来自Torchvision还是YOLOv5或者YOLOv8。使用PT文件推理都非常简单。

PT文件YOLOv8 分类推理

支持Top1跟Top5结果返回,使用非常方便。代码简洁明了。演示代码如下:

model = YOLO("best.pt")
bgr = cv.imread("./test/ng/l28.png")
results = model(bgr)
cid = results[0].probs.top1
print("conf: ", results[0].probs.top5conf[cid])
reimg = results[0].plot()
frame = results[0].orig_img
cv.putText(bgr, labels[cid], (50, 50), cv.FONT_HERSHEY_SIMPLEX, 1.0, (0, 255, 0), 2)
cv.namedWindow("YOLOv8+Classification demo", cv.WINDOW_NORMAL)
cv.imshow("YOLOv8+Classification demo", bgr)
cv.waitKey(0)

输出结果
在这里插入图片描述

PT文件YOLOv8 检测推理

对象检测支持返回Boxes信息与检测结果跟原始图像信息,两行代码即可搞定推理。演示代码如下:

results = self.model(frame, conf=self.infer_settings.score_threshold)
reimg = results[0].plot()
frame = results[0].orig_img
boxes = results[0].boxes.data

if self.infer_settings.show_fps:
	end = time.time()
	inf_end = end - start
	fps = 1 / (inf_end+0.0001)
	fps_label = "FPS: %.2f" % fps
	cv.putText(reimg, fps_label, (20, 45), cv.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 255), 2)

在这里插入图片描述

总结

使用pt文件推理的好处是零精度损失,跟模型的评估验证结果高度一致,模型精度没有导出损失,效果好,另外方便支持GPU或者CPU切换,是Python开发环境下的首选。

系统化学习YOLOv8,玩转YOLOv8的分类、对象检测、实例分割、姿态评估、OBB检测、目标跟踪 六大模块,猛戳这里:
人工智能应用开发之YOLOv8全家桶合集课程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

gloomyfish

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

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

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

打赏作者

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

抵扣说明:

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

余额充值