onnx 模型加载部署运行方式-CSDN博客
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
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文件内容长度