ubuntu yolov5(c++)算法部署
1.安装onnx 1.15.0
首先使用如下命令关闭 anaconda 对后续源码编译的影响;
# 禁用当前 conda 环境
conda deactivate# 确保 conda 初始化脚本不会自动激活 base 环境
conda config --set auto_activate_base false# 然后重新打开终端或执行
source ~/.bashrc
1.安装依赖项
sudo apt update
sudo apt install -y git cmake build-essential protobuf-compiler libprotobuf-dev# 更新 GSL, 确保是最新的版本
git clone https://github.com/microsoft/GSL.git
cd GSL && mkdir build && cd build
cmake .. && sudo make install# 更新 Google Test, 确保是最新的版本
git clone https://github.com/google/googletest.git
cd googletest && mkdir build && cd build
cmake .. && sudo make install2.克隆特定版本的ONNX仓库
git clone --recursive https://github.com/onnx/onnx.git
cd onnx
git checkout v1.15.0
git submodule update --init --recursive3.准备构建环境
mkdir build
cd build4.配置CMake
cmake .. \-DONNX_BUILD_TESTS=OFF \-DONNX_BUILD_BENCHMARKS=OFF \-DONNX_USE_PROTOBUF_SHARED_LIBS=ON \-DCMAKE_BUILD_TYPE=Release5.编译ONNX
make -j66.安装
sudo make install
2. 将ubuntu 系统上的cmake 版本升级到3.28.
卸载旧的版本sudo apt remove --purge cmake# 安装编译依赖
sudo apt update
sudo apt install -y build-essential libssl-dev wget# 下载源码(替换版本号)
wget https://github.com/Kitware/CMake/releases/download/v3.28.3/cmake-3.28.3.tar.gz
tar -xzvf cmake-3.28.3.tar.gz
cd cmake-3.28.3# 编译安装
./bootstrap
make -j6
sudo make install验证
cmake --version
3.安装onnx-runtime 1.15.0
1. 安装依赖项
sudo apt update
sudo apt install -y git cmake build-essential libssl-devsudo apt install -y libgtest-dev libgmock-dev2.克隆ONNX Runtime仓库
git clone --recursive https://github.com/microsoft/onnxruntime.git
cd onnxruntimegit checkout v1.15.0
git submodule update --init --recursive建议去以下网址手动下载对应版本的onnx runtime
https://github.com/microsoft/onnxruntime/releases?page=2
找到source code 下载并解压3.构建配置
./build.sh \--config Release \--build_shared_lib \--enable_pybind \--use_cuda \--cuda_home /usr/local/cuda \--cudnn_home /usr/local/cuda \--parallel $(nproc)--config Release 构建Release版本
--build_shared_lib 构建共享库(.so)
--parallel 并行构建
--skip_tests 跳过测试
--use_cuda 启用CUDA支持
--use_tensorrt 启用TensorRT支持
--use_openvino 启用OpenVINO支持
--use_dnnl 启用DNNL支持4. 安装选项
构建完成后,库文件位于:
./build/Linux/Release/系统安装
sudo cp ./build/Linux/Release/libonnxruntime.so* /usr/local/lib/
sudo ldconfig
sudo cp -r include/onnxruntime /usr/local/include/
3. 安装tensorrt
官网下载tensorrt deb 安装包
https://developer.nvidia.com/tensorrt解压并安装
tar -xzvf cudnn-linux-x86_64-8.9.4.25_cuda11-archive.tar.xz
sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include/
sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*