当前位置: 首页 > news >正文

民宿设计公司页面优化

民宿设计公司,页面优化,公司logo设计免费生成在线制作,百度官网建设开始以为会很困难,但是其实非常方便,下边分两步走:1. pytorch模型转onnx;2. 使用onnx进行inference 0. 准备工作 0.1 安装onnx 安装onnx和onnxruntime,onnx貌似是个环境。。倒是没有直接使用,onnxruntim…

开始以为会很困难,但是其实非常方便,下边分两步走:1. pytorch模型转onnx;2. 使用onnx进行inference

0. 准备工作

0.1 安装onnx

安装onnx和onnxruntime,onnx貌似是个环境。。倒是没有直接使用,onnxruntime是一个onnx的架构,方便部署使用的

CPU版本:

pip install onnx -i http://pypi.douban.com/simple/  --trusted-host pypi.douban.com
pip install onnxruntime -i http://pypi.douban.com/simple/  --trusted-host pypi.douban.com

GPU版本:

pip install onnx -i http://pypi.douban.com/simple/  --trusted-host pypi.douban.com
pip install onnxruntime-gpu  -i http://pypi.douban.com/simple/  --trusted-host pypi.douban.com

1. pytorch模型转ONNX

### 导出onnx模型
torch.onnx.export(self.network, {'input dict': input dict}, 'home3/medcog/pbliu/test_onnx.onnx')
print('output a onnx model!!!!!!')

坑1:dummy input那里的那个dict:{'input_dict': input_dict},'input_dict'是我network中forward中的参数名字,后边的input_dict是实际的数据,batch size=1。

坑2:只是为了用的话,export三个参数就够了:网络,虚拟输入(bs=1),保存路径。这时候输入的名字会按照顺序被替换掉"onnx::Cast_*",所以你把输入对回去就可以了,我的数据格式修改如下。(并且onnx只接受numpy格式)

onnx_dict = {}
key_prefix = 'onnx::Cast__{}'
onnx_idx = 1
for idx, (k,v) in enumerate(input_dict.items()):if k.startswith('input'):onnx_dict[key_prefix.format(onnx_idx)] = v.numpy()onnx_idx += 1

2. 如何用onnx进行inference

import onnxruntime as rt  
import numpy as np  # 加载 ONNX 模型  
sess = rt.InferenceSession('my_model.onnx', providers=['TensorrtExecutionProvider', 'CUDAExecutionProvider', 'CPUExecutionProvider'])  # 准备好数据onnx_dict# 调用模型进行推理  
result = sess.run(None, onnx_dict)

坑3:这里的sess.run中的None应该类似于tf中希望得到的结果,我这里没有命名,所以就写None了,会默认返回你之前pytorch输出的变量

坑4:sess.run使用的数据onnx_dict就是'onnx::Cast_*'和np array的键值对儿了,你之前在pytorch中定义的输入格式都不重要了,不管你是dict还是啥。

坑5. onnxruntime gpu的时候可能会报错,一个可能是cuda版本不适配的问题,直接在虚拟环境中安装对应版本的cuda就可以

conda install cudatoolkit=10.1
# 版本对照参考https://onnxruntime.ai/docs/execution-providers/CUDA-ExecutionProvider.html

一些其他tips:

1. 实操时候遇到一个极蠢的问题,onnx比pytorch慢很多,后来发现是我把初始化写到运行代码中了,每次测试一个数据都会重新初始化一遍。

http://www.dinnco.com/news/5485.html

相关文章:

  • 网站做百度推广域名权重查询工具
  • 昆明网页制作开发优化营商环境工作开展情况汇报
  • 焦作专业做网站公司网络服务平台
  • 房产网站建设批发西安百度关键词推广
  • 什么网站可以做海报赚钱百度搜索页
  • 重庆免费建站公司地址常用的搜索引擎有哪些
  • 衡水做淘宝网站建设百度快照投诉中心官网
  • 中国建设网官方网站下载e路最新版外贸营销网站怎么建站
  • js实现网站浮动窗口国家职业技能培训平台
  • 网站二次开发的模板种类全国各城市感染高峰进度查询
  • 测试网站免费空间网上推广企业
  • 优化seo是什么广州网站优化多少钱
  • qq企业邮箱注册seo诊断站长
  • html5网页模板代码官网排名优化方案
  • 网站建设公司广告标题语nba最新新闻
  • 济南网站开发培训班推广营销是什么
  • 网站将导航条不滚动怎么做软文优化
  • 视频直播类网站开发难度百度产品大全入口
  • 梅州哪里做网站口红的推广软文
  • 做招聘网站需要资质吗友点企业网站管理系统
  • java视频面谈网站开发整站优化深圳
  • html5个人网站源码友情链接查询结果
  • 自己的网站怎么编辑培训机构网站
  • 百度云做网站空间2022年最火的电商平台
  • 做外贸密封件的网站原画培训班一般学费多少
  • 网站设计高怎么表示发帖秒收录的网站
  • 什么身一什么网站建设seo168小视频
  • 电子商务网站建设的一般过程网络推广方法有哪些
  • html格式的网站地图seo综合查询站长工具怎么用
  • 虎门专业做网站公司百度新闻官网首页