![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
模型部署
bo.qiu_xbw
Talking is cheap ,show me the code.
展开
-
crnn-pth转换成onnx(pth输入输出变长转换)
注意事项1.首先torch1.1.0是没有dynamic_axes这个开关的,所以我升级到了1.14.0。2.其次如果是变长的话,pth模型找不到input和output的node-name,可以自己随意定义。3.weights和data必须同样的dtype,可以是cpu也可以是gpu,如果多gpu训练的model,去掉module即可。4.dynamic_axes找到当前变长的维度,用list或者dict表示,list自动分配名字,很方便。import torchimport torchvis原创 2021-11-23 16:29:48 · 1302 阅读 · 0 评论 -
源码编译onnxruntime(打开onednn/oneapi)
本文使用源码编译ort框架原因是需要打开某些开关(比如one-api),0.4.0版本有–openmp,–use_mkl,–use_mkldnn,–use_openvino等等开关,现在编译1.9.1版本的ort,openmp作者不建议打卡,当然可以自己调用线程数来加速,重要的是use_dnnl(mkldnn,mkl)这个开关,现在已经讲mkl,mkldnn合并。下面有一些注意事项,一切还是以官方文档为准。官方编译文档https://onnxruntime.ai/docs/build/inferenc原创 2021-11-19 18:45:50 · 2616 阅读 · 5 评论 -
(Deeplabv3+MobilenetV2)语义分割模型部署手机端(ckpt-pb-tflite)
最近要做一个实时的语义分割项目,需要完成手机端的部署。这篇文章主要是对模型转换做一个总结。首先模型训练,不多说,网上有很多资源,但是tf官网保存的模型时ckpt,要完成移动端部署,需要将ckpt转换成freeze pb,再将pb转换成tflite。1.ckpt转换成pb/research/deeplab目录下有一个export_model.py文件,这个文件可以直接将ckpt转换成pb,但是后续用toco转换成tflite会有很多坑。作者都进行了尝试,主要有以下错误产生。1.1 Check fai原创 2020-05-19 18:26:40 · 4524 阅读 · 10 评论