首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >[C++][onnxruntime]攻克onnxruntime之从内存字节流加载onnx模型

[C++][onnxruntime]攻克onnxruntime之从内存字节流加载onnx模型

作者头像
git clone firc-dataset
发布2025-07-20 11:16:39
发布2025-07-20 11:16:39
4260
举报

我们可以直接使用onnx路径加载模型,有时候我们可能会遇到内存流加载字节流情况,比如我可以对onnx加密然后通过内存解密加载,从而实现onnx保护而且不影响对onnx使用。以下是代码

测试环境:

vs2019

onnxruntime==1.12.0

代码部分:

代码语言:javascript
复制
#include <iostream>
#include<fstream>
#include<onnxruntime_cxx_api.h>
using namespace std;
using namespace Ort;
int main()
{

    Ort::Env env;//创建env
    Ort::Session session(nullptr);//创建一个空会话
    Ort::SessionOptions sessionOptions{ nullptr };//创建会话配置
    const wchar_t* model_path = L"D:\\yolov8s.onnx";
    std::ifstream stream(model_path, std::ios::in | std::ios::binary);
    std::vector<uint8_t> model_bytes((std::istreambuf_iterator<char>(stream)), std::istreambuf_iterator<char>());
    session= Ort::Session(env, model_bytes.data(), model_bytes.size(), sessionOptions);
    std::cout << "load model over!";
	getchar();
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-06-21,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档