当前位置:首页 > 编程笔记 > 正文
已解决

onnx 模型加载部署运行方式

来自网友在路上 176876提问 提问时间:2023-11-07 03:23:31阅读次数: 76

最佳答案 问答题库768位专家为你答疑解惑

1.通过文件路径的onnx模型加载方式:

在onnxruntime下面的主要函数:
session = Ort::Session(env, w_modelPath.c_str(), sessionOptions);

这里的文件路径是宽字节的,通过onnx文件路径直接加载模型。

在opencv下使用dnn加载onnx模型的主要函数:

std::string model_path = "./pose.onnx";

Net readNetFromONNX(model_path );

2.加密后的onnx模型解密加载方式

       

加密模型的部署的主要思路是:读取加密模型文件---->解密加密模型---->将明文onnx内容传给onnx API函数加载。使用的函数如下:

session = Ort::Session(env, decrypted, length,sessionOptions);

Ort::Session这个函数是一个参数重载函数,可以传递模型文件内存空间地址和空间长度。所以文件的加密方式可以自己定,能够解密出onnx明文就可以,将这个文件内存传给Ort::Session即可。

但是要注意的是dnn的cv::dnn::readNetFromONNX函数读取的是多字节格式,一定要注意。

其中:

net = cv::dnn::readNetFromONNX(decrypted, length);

ecrypted  是解密后的多字节格式的onnx文件内存地址

length 是onnx文件内容长度

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"onnx 模型加载部署运行方式":http://eshow365.cn/6-34174-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!