注册网站送金币,无锡网站建设网站,wordpress文章分类权限,网站默认地区数据修改yolo模型转ONNX
在yolov8中#xff0c;我们将训练结果的.pt权重文件转换为onnx格式只需要使用ultralytics库中的YOLO类#xff0c;使用pip安装ultralytics库#xff0c;然后执行下面python代码
from ultralytics import YOLO# 加载YOLOv8模型
model YOLO(best.pt我们将训练结果的.pt权重文件转换为onnx格式只需要使用ultralytics库中的YOLO类使用pip安装ultralytics库然后执行下面python代码
from ultralytics import YOLO# 加载YOLOv8模型
model YOLO(best.pt)# 将模型导出为ONNX格式
success model.export(formatonnx, simplifyTrue)# 检查是否成功导出
assert success 此程序就会加载当前根目录下的best.pt并转换为ONNX格式进行导出 C#中使用ONNX
创建一个.NET 8.0的项目因为自己写比较繁琐我们直接使用封装好的Nuget包YoloDotNet
地址NuGet Gallery | YoloDotNet 1.2.0
安装Nuget包命令
NuGet\Install-Package YoloDotNet -Version 1.2.0
这个包比较大安装时间可能有点久耐心等待 安装完成后我们通过如下代码读取ONNX文件下面代码中创建yolo实例有两个构造函数的参数第一个就是onnx文件的地址第二个就是你是否使用GPU来进行识别如果你的电脑有装英伟达的GPU并且按照了cuda就设置为true。我的电脑没有所有只能使用cpu来跑因此我设置为false
new Yolo(D:\best.onnx, false); 然后就是读取你的图片调用yolo的RunObjectDetection将图片作为第一个参数第二个参数就是识别的阈值
using var image Image.LoadRgba32(D:\testphoto\1.jpg);
var results yolo.RunObjectDetection(image, 0.3); 如果你的模型不是目标检测而是图像分类或者其他可以使用yolo的其他方法 然后就是将识别图片结果保存本地了下面是示例的所有代码
class Program
{public static void Main(string[] args){using var yolo new Yolo(D:\best.onnx, false);using var image Image.LoadRgba32(D:\testphoto\1.jpg);var results yolo.RunObjectDetection(image, 0.3); image.Draw(results);image.Save(D:\testphoto\2.jpg);}
} 下图是我识别出的结果 这个模型是我上一篇博客中使用python网络爬虫爬取的400多张皮卡丘图片继续标注后训练出来的模型我已经将原图和标注文件已经上面演示的.pt权重文件和onnx文件都上传到资源中有需要的可自取 https://download.csdn.net/download/weixin_65243968/88856521