YOLOP模型转ONNX\nONNX是开放式神经网络(Open Neural Network Exchange)的简称,ONNX的规范及代码主要由微软,亚马逊,Facebook和IBM等公司共同开发,以开放源代码的方式托管在Github上。目前官方支持加载ONNX模型的框架有:Caffe2,PyTorch,MXNet,ML.NET,TensorRT和Microsoft CNTK,并且TensorFlow也非官方的支持ONNX。
YOLOP导出onnx模型\n执行命令:\npython3 export_onnx.py–height 640–width 640\n执行完成后,会在weights文件夹下生成转换成功的onnx模型。
onnx模型导出流程:\n1.加载PyTorch模型,可以选择只加载模型结构;\n也可以选择加载模型结构和权重。\n2.定义PyTorch模型的输入维度,比如(1,3,640,640),\n这是一个三通道的彩色图,分辨率为640x640.\n3.使用torch.onnx.export()函数来转换,生产onnx\n模型。
推理流程\n1.加载模型\n2.获取输入输出节点名\n3.准备数据,如(n,c,h,w)或者\n(n,h,w,c)\n4.执行推断,获得输出。
可视化ONNX模型\n使用Netron,可视化ONNX模型,看一下\n网络结构;查看使用了那些算子,以便开\n发部署。\nNetron是一个轻量级、跨平台的模型可\n视化工具,支持多种深度学习框架的模型\n可视化,包括TensorFlow、PyTorch、\nONNX、Keras、Caffe等等。它提供了可\n视化网络结构、层次关系、输出尺寸、权\n重等信息,并且可以通过鼠标移动和缩放\n来浏览模型。Netron还支持模型的导出\n和导入,方便模型的分享和交流。
YOLOP模型在AidLux上部署与应用\nAidLux介绍\nAidLux是一个构建在ARM硬件上,基于创新\n性跨Android/鸿蒙+Linuxi融合系统环境的智\n能物联网(AIoT)应用开发和部署平台。\nAidLux软件使用非常方便,可以安装在手机、\nPAD、ARM开发板等边缘端设备上。而且使用\nAidLux开发的过程中,既支持在边缘设备的本\n机开发,也支持通过Web浏览器访问边缘端桌\n面进行开发。
推理结果视频展现链接: www.bilibili.com/video/BV1aV…