一、将训练好的模型转换格式为ONNX格式

例如pytorch模型转换:

def torch2onnx(model, save_path):

"""

:param model:

:param save_path: XXX/XXX.onnx

:return:

"""

model.eval()

data = torch.rand(1, 3, 224, 224)

input_names = ["input"]

output_names = ["out"]

torch.onnx._export(model, data, save_path, export_params=True, opset_version=11, input_names=input_names, output_names=output_names)

print("torch2onnx finish.")

支持动态形状的输入和输出:

def torch2onnx_dynamic(model, save_path):

"""

:param model:

:param save_path: XXX/XXX.onnx

:return:

"""

model.eval()

data = torch.rand(1, 3, 224, 224)

input_names = ["input"] # ncnn需要

output_names = ["out"] # ncnn需要

torch.onnx._export(model, data, save_path, export_params=True, opset_version=11, input_names=input_names,

output_names=output_names, dynamic_axes={'input': [2, 3], 'out': [2, 3]})

print("torch2onnx finish.")

二、安装onnxruntime

注意:onnxruntime-gpu版本在0.4以上时需要CUDA 10

pip install onnxruntime

pip install onnxruntime-gpu

onnxruntime帮助文档:

https://microsoft.github.io/onnxruntime/python/tutorial.html

三、onnxruntime使用方法

加载模型:

session = onnxruntime.InferenceSession("./dmnet.onnx")

加载图片:

img = cv2.imread(img_path)

img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

tensor = transforms.ToTensor()(img)

tensor = tensor.unsqueeze_(0)

执行推理:

注意:这里的"input"是和转onnx格式时的名字对应的。

result = session.run([], {"input": tensor.cpu().numpy()})

onnx模型部署 python_onnxruntime模型部署流程相关推荐

  1. Rockchip RV1126 模型部署(完整部署流程)

    文章目录 1.芯片简介 2.部署流程简述 3.开发环境配置(RKNN-Toolkit) 3.1.软件安装测试 3.2.示例代码解析 4.开发环境配置(RKNN-NPU) 4.1.源码结构 4.2. 编 ...

  2. BERT模型从训练到部署全流程

    BERT模型从训练到部署全流程 Tag: BERT 训练 部署 缘起 在群里看到许多朋友在使用BERT模型,网上多数文章只提到了模型的训练方法,后面的生产部署及调用并没有说明. 这段时间使用BERT模 ...

  3. 使用PaddleX实现车辆检测模型训练到服务化部署落地全流程

    ★★★ 本文源自AlStudio社区精品项目,[点击此处]查看更多精品内容 >>> 1. 项目背景 随着AI技术的快速发展,深度学习技术在各个领域的应用越来越广泛.作为一种革命性的机 ...

  4. win10环境下基于OpenVINO部署yolov5模型

    以在Intel的OpenVINO上部署Yolov5模型为例,加深对模型部署的理解. 1. 训练准备 获取yolov5模型及数据集 git clone git://github.com/ultralyt ...

  5. 基于OpenVINOTM2022.2和蝰蛇峡谷优化并部署YOLOv5模型

    文章作者 英特尔物联网行业创新大使 杨雪锋 博士 中国矿业大学机电工程学院副教授: 发表学术论文30余篇,获国家专利授权20多件(其中发明专利8件) 目录 1.1 OpenVINOTM 2022.2简 ...

  6. 安卓手机部署分割模型

    模型来自:https://github.com/PaddlePaddle/PaddleSeg/blob/release/2.6/contrib/PP-HumanSeg/README_cn.md中的 P ...

  7. 【YoloV5 6.0|6.1 部署 TensorRT到torchserve】环境搭建|模型转换|engine模型部署(详细的packet文件编写方法)

    忽然发现,关于部署TensorRT的文章少的可怜,于是乎,决定分享一下我自己关于这部分内容的一些成功实操和心得.还是希望大家可以分享出去,让更多人看到!!! QQ: 1757093754 我的操作环境 ...

  8. 使用OpenVINO优化和部署DenseNet模型并在DevCloud上完成性能测试

    概述 Intel® DevCloud for the Edge支持在英特尔的硬件平台上主动构建原型并试验面向计算机视觉的AI 工作负载.其硬件平台托管在云环境中,专门用于深度学习,用户可以全面访问这些 ...

  9. 模型压缩、模型剪枝、模型部署

    模型压缩.模型剪枝.模型部署 目录 模型压缩.模型剪枝.模型部署 ONNX & TensorRT ONNX model: TensorRT使用过程分为两步࿱

最新文章

  1. matlab中调用java代码_Matlab中调用第三方Java代码
  2. 「WC2018」即时战略
  3. SVN服务器从Windows迁移到Linux
  4. 从源码编译InfluxDB
  5. 我爱我家:我为什么选择AppCan?
  6. Capistrano3 与 Mina
  7. python爬取数据情感分析_爬虫再探实战(五)———爬取APP数据——超级课程表【四】——情感分析...
  8. 笨办法学 Python · 续 练习 42:SQL 删除
  9. 输入图像四通道 输出图像四通道
  10. admysqlslap压力测试
  11. vim全文替换字符串
  12. React.js 小书 阅读笔记
  13. 中国银联在线支付接口开发——前台支付
  14. ListView适配器
  15. 在校园网的环境下用树莓派搭建私人云
  16. OpenGL学习(1)
  17. 什么是 CSS 预处理器/后处理器?
  18. Java实现excel大数据量导入
  19. OSChina 周四乱弹 —— 放过巧克力熊吧,待久了都变抹茶熊了
  20. 今天那个劝比尔盖茨退学的人死了

热门文章

  1. 今日头条上传图片时设置封面图报像素低的原因是什么
  2. SAP S/4HANA使用ABAP获得生产订单的状态 1
  3. 打开Excel显示:新建EXCEL文件格式和扩展名不匹配(原因+解决办法)
  4. 11 linux suse 本地源_suse 11 Linux 静态路由的添加方法
  5. java src 文件路径_java获取src下文件路径和获取webRoot下文件路径
  6. linux mysql 文件恢复_linux下误删数据文件恢复
  7. python好玩的代码_一行 Python 能实现什么丧心病狂的功能?
  8. java windows系统监控_Windows资源监控工具大全
  9. 不定方程求解c语言_事业单位考试备考之数量关系:不定方程的求解
  10. axure 8 表格合并_搞定LaTeX论文中的表格