ONNX,即 Open Neural Network Exchange ,是微软和 Facebook 发布的一个深度学习开发工具生态系统,旨在让 AI 开发人员能够随着项目发展而选择正确的工具。
ONNX 所针对的是深度学习开发生态中最关键的问题之一,在任意一个框架上训练的神经网络模型,无法直接在另一个框架上用。开发者需要耗费大量时间精力把模型从一个开发平台移植到另一个。因此,如何实现不同框架之间的互操作性,简化从研究到生产的路径,成为了重中之重。
三我们在实际的项目中,使用python环境训练出的权重文件(pt)需要应用到我们的上位机程序中(NET),上位机是使用C#开发的
在实际的探索过程中ONNX这种部署方式进入了我们的视野

在NuGet中,有几个onnx部署到NET环境中的库

其中OnnxRuntime 只通过cpu进行推测
OnnxRuntime.DirectML 是通过direct12调用显卡进行
本文介绍了如何将使用Python训练的YOLOv5模型转换为ONNX格式,并在C#环境中进行部署。通过加载ONNXRuntime库,详细阐述了在.NET上运行模型的步骤,包括CPU和GPU推测,并解决GPU推测时可能出现的cudnn错误。此外,还提到了DirectML推测速度可能更快。
订阅专栏 解锁全文
1710

被折叠的 条评论
为什么被折叠?



