在用c++ 调用onnxruntime的时候
会出现
invalide poiner ,或者
corrupted size vs. prev_size
这两个错误
应该是代码写的不太好,但是一直没找到问题出在哪里
后来将运行设备由GPU改为GPU,问题消失
更改前
Ort::Env env(ORT_LOGGING_LEVEL_VERBOSE, "test");
Ort::SessionOptions session_options;
// OrtSessionOptionsAppendExecutionProvider_CUDA(session_options, 0);
session_options.SetGraphOptimizationLevel(GraphOptimizationLevel::ORT_ENABLE_ALL);
const char* model_path = "xx.onnx"; //"/home/onnxinfer/pointpillar_simplified.onnx";
Ort::Session session(env, model_path, session_options);
更改后
Ort::Env env(ORT_LOGGING_LEVEL_WARNING, "test");
Ort::SessionOptions session_options;
session_options.SetGraphOptimizationLevel(GraphOptimizationLevel::ORT_ENABLE_ALL);
OrtCUDAProviderOptions cuda_options{
0,
OrtCudnnConvAlgoSearch::EXHAUSTIVE,
std::numeric_limits<size_t>::max(),
0,
true
};
session_options.AppendExecutionProvider_CUDA(cuda_options);
const char* model_path = "xx.onnx";
Ort::Session session(env, model_path, session_options);