如何在Ubuntu 18系统中安装ONNX Runtime的Nuget包Microsoft.ML.OnnxRuntime.Gpu
Ubuntu 环境 C++ 开发配置 ONNX Runtime GPU 版操作指南
前置说明
官网给出的Nuget安装提示默认面向.NET开发场景,C++开发无需依赖Nuget生态,可直接通过以下几种方式完成配置。
注意:1.8.1版本的ONNX Runtime GPU仅适配CUDA 11.0.3、cuDNN 8.0.5,安装前请确认本地CUDA、cuDNN版本匹配,否则会出现运行时加载失败问题。
方式一:使用官方预编译二进制包(推荐)
- 下载对应版本的Linux x64 GPU预编译压缩包(格式为onnxruntime-linux-x64-gpu-1.8.1.tgz)
- 解压压缩包:
tar -xzf onnxruntime-linux-x64-gpu-1.8.1.tgz - 部署头文件和库文件:
- 将解压后include目录下的所有文件,复制到系统头文件路径(如/usr/local/include)或项目的第三方依赖头文件目录
- 将解压后lib目录下的所有libonnxruntime.so.*动态库文件,复制到系统动态库路径(如/usr/local/lib)或项目的依赖库目录
- 更新系统动态库缓存:
sudo ldconfig
方式二:源码编译安装
适用于需要自定义编译参数的场景:
- 提前安装基础依赖:cmake、gcc、g++、匹配版本的CUDA和cuDNN
- 拉取对应版本的ONNX Runtime源码,切换到v1.8.1标签
- 执行编译命令:
./build.sh --config Release --build_shared_lib --parallel --use_cuda --cuda_home /usr/local/cuda --cudnn_home /usr/local/cuda
可根据本地CUDA实际安装路径调整cuda_home、cudnn_home参数 - 编译完成后,在build/Linux/Release目录下可以拿到编译好的头文件和动态库,按方式一的步骤部署即可
方式三:通过Nuget安装(可选)
如果确实需要使用Nuget方式获取依赖,可按以下步骤操作:
- 先安装Nuget客户端:
sudo apt update && sudo apt install nuget -y - 执行安装命令:
nuget install Microsoft.ML.OnnxRuntime.Gpu -Version 1.8.1 - 安装完成后,依赖包会存放在当前目录的packages文件夹内,从中提取C++所需的头文件和动态库,按方式一的步骤部署即可
安装验证
可通过最简测试代码验证配置是否正确:
- 编写测试代码片段:
#include <onnxruntime_cxx_api.h> int main() { Ort::Env env(ORT_LOGGING_LEVEL_WARNING, "test_onnxruntime"); Ort::SessionOptions session_opt; OrtCUDAProviderOptions cuda_opt{}; // 注册CUDA执行提供者 session_opt.AppendExecutionProvider_CUDA(cuda_opt); // 此处可添加加载模型、推理的逻辑验证可用性 return 0; }
- 编译测试代码:
g++ test.cpp -o test -lonnxruntime - 运行测试程序,无报错即代表配置成功。
内容的提问来源于stack exchange,提问作者user5739619
相关产品推荐
相关产品推荐

