第一步:ubuntu18.04装TensorRT8.0.0.3 + onnx1.8.0 + onnx_tensorrt

一、环境说明

Ubuntu18.04 + cuda11.0 + python3.7.6 + pytorch171

如果在本地配置环境时报权限不足的错误,在语句前加上 sudo
如果是在docker镜像安装的话只能选择developer版的镜像,不能使用runtime版的,否则会报 fatal error: ***.*: No such file or directory错误。简单判断方法:看/usr/local/cuda/里有没有include, binlib64,如果文件不全可能就是runtime镜像,要重装镜像。

二、安装TensorRT8.0.0.3

  1. 下载安装包 tar包官网下载

  2. 解压 tar xzvf TensorRT-8.0.0.3.Linux.x86_64-gnu.cuda-11.0.cudnn8.2.tar.gz

  3. 配置环境变量 vim ~/.bashrc
    在文本最后写入一行: export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/TensorRT-8.0.0.3/lib
    :wq保存退出编辑器。

    source ~/.bashrc # 使环境变量生效
    
  4. 安装TensorRT

    cd TensorRT-8.0.0.3/python/
    # 根据自己环境安装,python是哪个版本cp后跟什么数。比如:
    pip3 install tensorrt-8.0.0.3-cp37-none-linux_x86_64.whl # python3.7 --> cp37
    pip install tensorrt-8.0.0.3-cp27-none-linux_x86_64.whl # python2.7 --> cp27
    
  5. 安装uff

    cd ../uff/
    pip3 install uff-0.6.5-py2.py3-none-any.whl
    
  6. 安装graphsurgeon

    cd ../graphsurgeon/
    pip3 install graphsurgeon-0.4.1-py2.py3-none-any.whl
    
  7. 复制tensorrt库

    cd ..
    cp -r lib/* /usr/lib
    cp -r include/* /usr/include
    
  8. 测试
    没有报错说明安装成功:

    python3
    >>> import tensorrt
    >>> import uff
    

三、安装onnx

  1. 安装必要的库 apt-get install libprotobuf-dev protobuf-compiler
  2. 用git拉取onnx项目 git clone --recursive https://github.com/onnx/onnx.git
  3. onnx和TensorRT如果版本不对应,在之后的使用中会报错,所以要先修改onnx版本号。默认是最新版本,要改成1.8.0。
    cd onnx
    vim VERSION_NUMBER
    1.8.0 # 版本号的文本只有一行,直接改成1.8.0即可
    
    :wq保存退出。
  4. 编译onnx
    mkdir build
    cd build
    cmake ..
    make -j16
    make install
    
  5. 安装python版的onnx
    cd ..
    python3 setup.py build
    python3 setup.py install
    
  6. 测试
    不报错且打印版本号为1.8.0则安装成功:
    python3
    >>> import onnx
    >>> print(onnx.__version__) # 1.8.0
    

四、安装onnx_tensorrt

  1. 从git拉取onnx_tensorrt项目 git clone --recursive -b 8.0 https://github.com/onnx/onnx-tensorrt.git
    注意: 拉取8.0分支,不是master。
  2. 编译onnx_tensorrt。
    (1) cmake可能会报错 CMake 3.13.0 or higher is required. You are running version *.*.*.报错原因是现在cmake版本太低,不满足版本需求,要remove重装,详细步骤见文末补充部分。
    (2) make可能会报错unable to execute 'swig': No such file or directory,要安装swig:apt install swig
    (3) python3 setup.py build可能会报错NvOnnxParser.h:213: Error: Syntax error in input(1),需要修改NvOnnxParser.h,这个头文件在onnx-tensorrt目录下,打开后在第23行(文件最顶部)添加一句话:# define TENSORRTAPI
    cd onnx-tensorrt
    mkdir build
    cd build
    # /path/to/TensorRT-8.0.0.3改成自己的TensorRT绝对路径
    cmake .. -DTENSORRT_ROOT=/path/to/TensorRT-8.0.0.3
    make -j16
    make install
    
  3. 测试,直接在终端输入 onnx2trt,不报错且打印出使用方法即编译成功。
  4. 安装python版onnx_tensorrt
    cd ..
    python3 setup.py build
    python3 setup.py install
    
  5. 测试
    没有报错说明安装成功:
    python3
    >>> import onnx_tensorrt
    

以上为TensorRT8.0.0.3 + onnx1.8.0 + onnx_tensorrt安装的完整步骤。


五、补充

以下为cmake版本报错时重新安装cmake的步骤(以cmake-3.13.0为例,根据提示自行选择下载版本号,安装步骤相同)。

  1. 卸载旧版cmake apt-get autoremove cmake
  2. 下载安装包 tar包官网下载
  3. 解压 tar zxvf cmake-3.13.0-Linux-x86_64.tar.gz
  4. 安装cmake(创建软连接)
    cp -r cmake-3.13.0-Linux-x86_64 /opt/cmake-3.13.0
    ln -sf /opt/cmake-3.13.0/bin/*  /usr/bin/
    
  5. 检查安装结果,直接在终端输入 cmake --version,输出结果为 cmake version 3.13.0 # 刚才安装的版本号则重新安装成功。

你可能感兴趣的:(tensorrt+onnx,ubuntu,linux,神经网络,深度学习,pytorch)