在NVIDIA Jetson计算平台中创建Tensorrt容器

  • Post author:
  • Post category:其他




当前环境:jetpack4.4DP、jetson nano


注:适用于jetpack>=4.2和其他jetson开发板,如Xavier AGX、NX、TX2




前言

需要在jetpack4.4DP环境的Jetson开发板里安装Tensorrt的docker容器(Tensorrt基于jetpack4.4DP)。官网提供的是Dockerfile的安装方式,详情见

官网

。不知道NVIDIA有没有更新这个bug:拉取的基础镜像是基于X86架构,而Jetson是基于ARM架构。安装难点在于Tensorrt官网上没有提供基于Jetson的单独安装包,所以对于这一块就比较陌生。下面是我的解决方案,仅供参考。此方案可适用于jetpack的其他版本,只需要在配置环境时选择自己要用的版本即可。



一、拉取docker基础镜像卸载基础镜像中的CUDA

1、这里将官方提供的tensorflow镜像作为基础镜像,镜像地址

https://ngc.nvidia.com/catalog/containers/nvidia:l4t-tensorflow

,在jetson nano命令窗口输入指令

sudo docker pull nvcr.io/nvidia/l4t-tensorflow:r32.4.3-tf1.15-py3



注:jetpack的版本匹配问题,上述镜像是jetpack4.4DP



2、进去docker并删除cuda

(1)使用以下指令进入docker

sudo docker run -it nvcr.io/nvidia/l4t-tensorflow:r32.4.2-tf1.15-py3 /bin/bash

(2)由于我们接下来要重新安装cuda,所以使用以下指令删除原始cuda

sudo apt-get –purge remove “cublas” “cuda*”



二、下载jetson nano 所需要的安装包

由于官网暂时没有提供关于Jetson的对应安装文件,所以我们需要从SDK Manager上下载到本地,然后再进行安装。

1、在一台ubuntu host上安装sdkmanager,下载对应的jetson和jetpack安装文件到host本地。如下图所示,勾选下方的Download now. Install later。左侧可以看到下载路径。

在这里插入图片描述

2、下载完成后,安装文件打包并传送给容器。



三、配置TensorRT环境

首先进入容器,进入到上述打包的安装文件目录下,安装方式与X86架构的有所不同,请按顺序安装。

1、安装CUDA

进入下载好的文件包中依次输入以下指令

sudo dpkg -i cuda-repo-l4t-10-2-local-10.2.89_1.0-1_arm64.deb

sudo apt-key add /var/cuda-repo-10-2-local-10.2.89/7fa2af80.pub

sudo apt-get -y update

sudo apt-get -y install cuda-toolkit-10-2

2、安装Cudnn

进入下载好的文件包中依次输入以下指令

sudo dpkg -i libcudnn8_8.0.0.180-1+cuda10.2_arm64.deb

sudo dpkg -i libcudnn8-dev_8.0.0.180-1+cuda10.2_arm64.deb

sudo dpkg -i libcudnn8-doc_8.0.0.180-1+cuda10.2_amd64.deb

3、安装TensorRT

进入下载好的文件包中依次输入以下指令

sudo dpkg -i libnvinfer7_7.1.0-1+cuda10.2_arm64.deb

sudo dpkg -i libnvinfer-dev_7.1.0-1+cuda10.2_arm64.deb

sudo dpkg -i libnvparsers7_7.1.0-1+cuda10.2_arm64.deb

sudo dpkg -i libnvparsers-dev_7.1.0-1+cuda10.2_arm64.deb

sudo dpkg -i libnvinfer-plugin7_7.1.0-1+cuda10.2_arm64.deb

sudo dpkg -i libnvinfer-plugin-dev_7.1.0-1+cuda10.2_arm64.deb

sudo dpkg -i libnvonnxparsers7_7.1.0-1+cuda10.2_arm64.deb

sudo dpkg -i libnvonnxparsers-dev_7.1.0-1+cuda10.2_arm64.deb

sudo dpkg -i libnvinfer-bin_7.1.0-1+cuda10.2_arm64.deb

sudo dpkg -i libnvinfer-samples_7.1.0-1+cuda10.2_all.deb

sudo dpkg -i libnvinfer-doc_7.1.0-1+cuda10.2_all.deb

sudo dpkg -i graphsurgeon-tf_7.1.0-1+cuda10.2_arm64.deb

sudo dpkg -i uff-converter-tf_7.1.0-1+cuda10.2_arm64.deb

sudo dpkg -i python3-libnvinfer_7.1.0-1+cuda10.2_arm64.deb

sudo dpkg -i python3-libnvinfer-dev_7.1.0-1+cuda10.2_arm64.deb

sudo dpkg -i tensorrt_7.1.0.16-1+cuda10.2_arm64.deb

4、验证

dpkg -l | grep TensorRT

如下图所示则安装成功

在这里插入图片描述



版权声明:本文为qq_33536992原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。