当前位置:首页 > 系统教程 > 正文

Ubuntu安装与使用C++ ONNX Runtime库 (2025小白友好版·从零部署深度学习模型)

Ubuntu安装与使用C++ ONNX Runtime库 (2025小白友好版·从零部署深度学习模型)

ONNX Runtime 是一个跨平台推理引擎,支持多种硬件后端。本文将详细讲解如何在Ubuntu系统下安装并使用C++版本的ONNX Runtime库,实现高效的深度学习部署。无论你是新手还是老手,都能轻松上手。

Ubuntu安装与使用C++ ONNX Runtime库 (2025小白友好版·从零部署深度学习模型) Runtime  C++推理 Ubuntu安装 深度学习部署 第1张

1. 安装前的准备

更新系统并安装必要的编译工具:

    sudo apt updatesudo apt upgrade -ysudo apt install build-essential cmake git wget -y  

2. 下载ONNX Runtime预编译包

推荐使用官方预编译的C++库,省去编译时间。访问 GitHub Releases 页面,选择对应Ubuntu x64的版本,例如 onnxruntime-linux-x64-1.20.0.tgz。使用wget下载:

    cd ~wget https://github.com/microsoft/onnxruntime/releases/download/v1.20.0/onnxruntime-linux-x64-1.20.0.tgztar -xzf onnxruntime-linux-x64-1.20.0.tgz  

3. 配置环境变量

将ONNX Runtime路径加入环境变量,方便CMake查找:

    echo "export ONNXRUNTIME_ROOT=~/onnxruntime-linux-x64-1.20.0" >> ~/.bashrcecho "export LD_LIBRARY_PATH=$ONNXRUNTIME_ROOT/lib:$LD_LIBRARY_PATH" >> ~/.bashrcsource ~/.bashrc  

4. 编写CMakeLists.txt

创建一个项目目录,并编写CMakeLists.txt:

    cmake_minimum_required(VERSION 3.10)project(OnnxRuntimeDemo)set(CMAKE_CXX_STANDARD 17)# 指定ONNX Runtime路径set(ONNXRUNTIME_ROOT $ENV{ONNXRUNTIME_ROOT})set(ONNXRUNTIME_INCLUDE_DIR ${ONNXRUNTIME_ROOT}/include)set(ONNXRUNTIME_LIB_DIR ${ONNXRUNTIME_ROOT}/lib)# 头文件目录include_directories(${ONNXRUNTIME_INCLUDE_DIR})# 链接库link_directories(${ONNXRUNTIME_LIB_DIR})add_executable(onnx_demo onnx_demo.cpp)target_link_libraries(onnx_demo onnxruntime)  

5. 编写C++推理代码

创建 onnx_demo.cpp,实现加载ONNX模型并进行推理:

    #include #include #include int main() {    // 初始化环境    Ort::Env env(ORT_LOGGING_LEVEL_WARNING, "test");    Ort::SessionOptions session_options;    session_options.SetIntraOpNumThreads(1);    // 加载模型(请替换为你的模型路径)    const char* model_path = "model.onnx";    Ort::Session session(env, model_path, session_options);    // 打印模型信息    Ort::AllocatorWithDefaultOptions allocator;    size_t num_input_nodes = session.GetInputCount();    std::cout << "Number of inputs: " << num_input_nodes << std::endl;    // 简单推理示例(需根据实际模型调整)    // ...     std::cout << "ONNX Runtime C++ demo passed!" << std::endl;    return 0;}  

注意: 你需要准备一个ONNX模型(如 model.onnx)放在同级目录下。

6. 编译与运行

在项目目录下执行:

    mkdir build && cd buildcmake ..make./onnx_demo  

7. 常见问题与优化

  • 找不到libonnxruntime.so: 确保LD_LIBRARY_PATH包含ONNX Runtime的lib目录,或使用 -rpath 链接。
  • CMake找不到ONNX Runtime: 手动设置 -DONNXRUNTIME_ROOT 或修改CMakeLists.txt中的路径。
  • CUDA支持: 如需GPU推理,下载对应CUDA版本的预编译包,并链接cuda相关库。

本文关键词:ONNX Runtime C++推理 Ubuntu安装 深度学习部署