• TensorRT8.2.1.8基于Docker容器快速安装


    一. 实验环境
    ubuntu20.04: NVIDIA GeForce RTX 3080

    二. 安装方法

    1. 全手动安装
      优点:不需要掌握基本的docker操作知识,新手上手快。
      缺点:报错较多,容易出现版本冲突。
    2. 半自动安装
      这种安装方式是通过拉取官方镜像,然后创建容器,在容器内部进行安装,后面的模型转换等工作也是在容器中进行。
      优点:简单方便省心,报错少,对机器上的其他服务不会造成影响,也不会受到其他服务限制,主要是cuda与cudnn版本的限制。
      缺点:需要掌握基本的docker操作知识,对于新手不太友好。
      (1)官网下载对应版本的镜像
      打开nvidia官方的dockerhub镜像库:nvidia/cuda
      完整的镜像列表在这里:nvidia/cuda镜像列表
      根据自己的系统选择合适的镜像,我选择的是:
    11.2.0-cudnn8-devel-ubuntu20.04
    
    • 1

    拉取命令

    docker pull nvidia/cuda:11.2.0-cudnn8-devel-ubuntu20.04
    
    • 1

    在这里插入图片描述
    (2)运行镜像、创建容器

    docker run -it --name tensorrt_test --gpus all -v /home/wanglaiqi/mywork/tensorrt:/tensorrt nvidia/cuda:11.2.0-cudnn8-devel-ubuntu20.04 /bin/bash
    
    • 1
    --name tensorrt_test  # 容器的名字
    -v /home/mywork/tensorrt:/tensorrt  
    "
    冒号前面是需要映射的外部路径,冒号后面是容器内部路径,经过映射,容器外/home/mywork/tensorrt路径下的内容就会时刻与容器内tensorrt路径下的内容保持一致,不论改动那个路径下的内容,另一个都会随之同步改变,主要是方便上传文件内容。
    "
    
    • 1
    • 2
    • 3
    • 4
    • 5

    (3)查看cuda和cudnn版本

    cat /usr/local/cuda-11.2/version.txt
    cat /usr/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
    
    • 1
    • 2

    (4)去官网NVIDIA TensorRT下载TensorRT tar包

    下载的这个tar放在容器外/home/mywork/tensorrt路径下, 它会自动同步到容器内/tensorrt路径下,下载过程中需要用户创建开发者账号。
    
    • 1

    4.1 打开连接NVIDIA TensorRT点击立即下载,如下图所示。
    在这里插入图片描述
    4.2 选择对应的版本
    在这里插入图片描述
    4.3 选择同意,选择对应的版本,如下图所示。
    在这里插入图片描述
    4.4 选择对应的tar包进行下载,如下图所示。
    在这里插入图片描述
    下载选择的tar包放在容器外的/home/mywork/tensorrt目录下,会自动同步到容器内的/tensorrt路径下面, 也可以直接使用wget命令直接在容器内下载。

    (5)回到容器内进行安装TensorRT

    进入容器内的tensorrt路径下,解压刚才下载的tar包
    tar -zxvf TensorRT-8.2.1.8.Linux.x86_64-gnu.cuda-11.2.cudnn8.2.tar.gz
    解压之后可以 ls 看一下,应该多了一个叫 TensorRT-8.2.1.8 的文件夹
    
    • 1
    • 2
    • 3

    (6)安装vim

    apt-get update
    apt-get install vim
    
    • 1
    • 2

    (7)添加环境变量

    vim ~/.bashrc
    export LD_LIBRARY_PATH=/tensorrt/TensorRT-8.2.1.8/lib:$LD_LIBRARY_PATH
    source ~/.bashrc
    
    • 1
    • 2
    • 3

    (8)安装python
    复制下面的所有内容到命令行

    apt-get install -y --no-install-recommends \
    python3 \
    python3-pip \
    python3-dev \
    python3-wheel &&\
    cd /usr/local/bin &&\
    ln -s /usr/bin/python3 python &&\
    ln -s /usr/bin/pip3 pip
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    安装之后查看python版本,后面安装tensorrt需要用到。
    在这里插入图片描述
    (9)使用pip 安装对应的TensorRT库
    注意:一定要使用pip安装tar附带的whl包

    cd /TensorRT-8.2.1.8/python
    
    • 1

    这个路径下一共有 4 个whl包,对应四个不同的 python 版本,根据第 8 步得到的 python 版本选择即可。

    pip3 install tensorrt-8.2.1.8-cp38-none-linux_x86_64.whl
    
    • 1

    在这里插入图片描述
    (10)测试TensorRT 的python接口
    出现下图就表示安装成功。
    在这里插入图片描述
    3. 全自动安装
    优点:一次成功,可以拿着 Dockerfile 到处跑,即使后期 NVIDIA 更新了新版本的 TensorRT,只需要对 Dockerfile 做微小改动即可;
    缺点:要求较高,需要你熟悉 Dockerfile 的定制,熟悉对 TensorRT 的各种安装方式及注意事项;

    总结
    第一种 tar 包全手动安装不推荐,想尝试一下也可以,但是如果一天还没有解决建议放弃;
    第二种半自动安装适合大多数人,尤其是时间紧、对 docker 操作熟悉的朋友;
    第三种需要你熟悉定制Dockerfile,同时对 TensorRT 的各种安装方式及注意事项比较熟悉;

  • 相关阅读:
    MySQL和Oracle的区别有什么
    【框架】Spring Framework :SpringBoot
    mySQL—索引
    【Spring】Spring IOC & DI
    git各个项目的忽略文件写法
    浏览器中修改视频播放速度
    尚硅谷设计模式学习(九)装饰者模式
    java毕业生设计研究生推免系统计算机源码+系统+mysql+调试部署+lw
    Java JVM虚拟机
    跑得“快”还要走得“稳”,看头部车企数字化实践怎么做
  • 原文地址:https://blog.csdn.net/wlqkycg/article/details/127822422