目录
1.下载onnx-tensorrt代码(注意要和tensorrt版本对应)--我这里是7.1
1.已有环境:
-
Jetpack 4.4.1
-
TensorRT 7.1
-
python 3.6
2.升级 protobuf 为 protobuf 3.8
git clone https://github.com/google/protobuf -b '3.8.x'
apt remove libprotobuf-dev # uninstall old version
cd protobuf && ./autogen.sh && ./configure --prefix=/usr/
sudo make -j4 && make install -j4
pip3 uninstall protobuf
pip install protobuf==3.8.0
3.安装onnx-tensorrt
1.下载onnx-tensorrt代码(注意要和tensorrt版本对应)--我这里是7.1
git clone --recursive -b 7.1 https://github.com/onnx/onnx-tensorrt.git onnx_tensorrt_7.1
2.编译onnx-tensorrt
cd onnx-tensorrt
sudo mkdir build && cd build #建一个目录
#编译
cmake -DCUDA_INCLUDE_DIRS=/usr/local/cuda/include -DTENSORRT_ROOT=/usr/src/tensorrt -DCMAKE_INSTALL_PREFIX=/usr/ \..
3.报错解决方法
1.cmake 版本太低
1.卸载原来的CMake和清除数据(若有)
sudo apt remove cmake
sudo rm -rf /usr/local/share/cmake*
2.下载cmake安装包
JetsonNano属于arm64平台,选择Linux_aarch64版本
cmake下载包https://cmake.org/download/
3.解压安装cmake
tar -xzvf cmake-3.18.0-rc1.tar.gz
cd cmake-3.18.0-rc1
./configure
此处可能报找不到OpenSSL的错,解决方法是编辑CMakeLists.txt文件,在文件开头加:
set(CMAKE_USE_OPENSSL OFF)
make -j4
sudo make install
cmake --version #查看版本
sudo cmake ../ #检查编译器路径
4.安装onnx-tensorrt
cmake -DCUDA_INCLUDE_DIRS=/usr/local/cuda/include -DTENSORRT_ROOT=/usr/src/tensorrt -DCMAKE_INSTALL_PREFIX=/usr/ \..
make -j8
sudo make install