本文为TensorRT
官网上安装指南的翻译版,原版链接为TensorRT Installation Guide,如果有翻译不对的地方,请评论区留言指正。
这篇TensorRT 7.0.0文
档安装指南提供了安装要求、TensorRT
软件包中包含的内容列表以及TensorRT
安装的分步说明.对于先前发布的TensorRT
安装文档,请参阅TensorRT Archives。
NVIDA TensorRT
的核心是一个C++
库,它有助于NVIDIA
图形处理单元(GPU)的高性能推理,TensorRT
采用一个经过训练的网络,该网络由一个网络定义和一组经过训练的参数组成,并生成一个高度优化的运行时引擎,对该网络进行推理。
TensorRT
通过由C++
和Python
提供API
的帮助,用网络定义API
来表达深度学习模型,或者通过允许TensorRT
优化以及在NVIDIA GPU
上运行的解析器加载预定义模型。TensorRT
应用了图形优化、层融合以及其他优化,同时还利用高度优化的内核的不同集合找到了该模型的最快实现。TensorRT
还提供了一个运行时,您可以使用它在所有NVIDIA
的GPU
上执行这个网络,从开普勒一代开始。
TensorRT
还包括Tegra X1
中引入的可选高速混合精度功能,并通过Pascal
、Volta
和Turing
架构进行了扩展。
确保您熟悉以下安装要求和注意事项。
TensorRT
的Windows zip
包不提供Python
支持。Python
将来可能会得到支持。TensorRT Python API
,并且系统上还没有安装PyCUDA
,请参阅安装PyCUDA
。如果您在PyCUDA
使用方面遇到任何问题,您可能需要自己重新编译它。有关更多信息,请参阅在Linux上安装PyCUDA
。TensorRT
发行说明在线上找到 TensorRT Release Notes。CUDA
工具包;支持版本9.0
、10.0
和10.2
。TensorFlow
到TensorRT
模型导出需要TensorFlow 1.14.0
。PyTorch
示例已经用PyTorch 1.3.0
进行了测试,但是可以使用较旧的版本。TensorRT
和一个或多个训练框架,那么最简单的策略是使用与TensorRT
附带的相同版本的cuDNN
作为训练框架。如果这不可能,或由于某些原因强烈不可取,请小心管理cuDNN
在单个系统上的并行安装。在某些情况下,根据所使用的训练框架,如果不修补训练框架源代码,这可能是不可能的。TensorRT 5.0
开始, libnvparsers.so
以前版本的库功能包含在libnvparsers.so
文件中。 libnvcaffe_parser.so
安装的符号链接更新为指向新的libnvparsers.so
文件库。静态库libnvcaffe\u parser.a
也象征性地链接到libnvparsers\u static.a
。TensorRT
;C++
和TensorRT Python API
。在某些环境和用例中,您可能不想安装Python
功能。在这种情况下,不要安装标有Python
或whl
文件的Debian
或RPM
包。C++
的API功能都不依赖于Python
。如果要从TensorFlow
模型导出UFF
文件,则需要安装UFF whl
文件。确保您是NVIDIA
开发者计划的成员。如果没有,请按照提示获取访问权限。
TensorRT
版本。在安装TensorRT
时,您可以选择以下安装选项 :Debian
或RPM
软件包、tar
文件或zip
文件。Debian
和RPM
安装会自动安装任何依赖项,但是:
sudo
或root
权限才能安装CUDA
工具包和cuDNN
也已使用Debian
或RPM
包安装。TensorRT
tar
文件提供了更大的灵活性,例如同时安装多个版本的TensorRT
。但是,您需要确保已经安装了必要的依赖项,并且必须自己管理LD_LIBRARY_PATH
。有关更多信息,请参阅ZIP文件安装。TensorRT
由不同版本的组件组成的产品。产品上的版本传达了有关重要的新特性的关键信息,而库版本传达了有关API的兼容性或不兼容性的信息。下表显示了TensorRT组件的版本控制。本节包含开发人员安装和应用程序服务器安装的说明。此安装方法适用于新用户或希望完整安装(包括示例和文档)的用户。对于已经熟悉TensorRT
并希望快速运行应用程序或设置自动化的高级用户,请按照network repo
安装说明进行操作(参考:使用NVIDIA机器学习网络Repo进行Debian安装)
开发者安装: 下面的指令用一个示例、文档和C++
和Python API
建立了一个完整的TensorRT
开发环境。
注意: 如果只需要C++
开发环境,可以修改以下指令,而不必安装Python
包。
注: 在开始以下命令之前,您需要将ubuntu1x04
、cudax.x
、trt7.x.x.x
和yyyymmdd
替换为特定的操作系统版本、CUDA
版本、TensorRT
版本和软件包日期。以下命令是amd64
的示例,但是对于ppc64el
,这些命令是相同的。
1. 下载TensorRT local repo
文件,该文件与您使用的Ubuntu
版本和CPU
架构相匹配。
2. 从Debian local repo
包安装TensorRT
。
os=”ubuntu1x04”
tag=”cudax.x-trt7.x.x.x-ga-yyyymmdd”
sudo dpkg -i nv-tensorrt-repo-${os}-${tag}_1-1_amd64.deb
sudo apt-key add /var/nv-tensorrt-repo-${tag}/7fa2af80.pub
sudo apt-get update
sudo apt-get install tensorrt
如果是用Python2.7
sudo apt-get install python-libnvinfer-dev
将安装以下附加软件包:
python-libnvinfer
如果是用Python3.x
sudo apt-get install python3-libnvinfer-dev
将安装以下附加软件包:
python3-libnvinfer
如果计划将TensorRT
与TensorFlow
结合使用:
sudo apt-get install uff-converter-tf
graphsurgeon tf
包也将与上述命令一起安装。
3. 验证安装
dpkg -l | grep TensorRT
您应该会看到类似以下内容:
ii graphsurgeon-tf 7.0.0-1+cuda10.2 amd64 GraphSurgeon for TensorRT package
ii libnvinfer-bin 7.0.0-1+cuda10.2 amd64 TensorRT binaries
ii libnvinfer-dev 7.0.0-1+cuda10.2 amd64 TensorRT development libraries and headers
ii libnvinfer-doc 7.0.0-1+cuda10.2 all TensorRT documentation
ii libnvinfer-plugin-dev 7.0.0-1+cuda10.2 amd64 TensorRT plugin libraries
ii libnvinfer-plugin7 7.0.0-1+cuda10.2 amd64 TensorRT plugin libraries
ii libnvinfer-samples 7.0.0-1+cuda10.2 all TensorRT samples
ii libnvinfer7 7.0.0-1+cuda10.2 amd64 TensorRT runtime libraries
ii libnvonnxparsers-dev 7.0.0-1+cuda10.2 amd64 TensorRT ONNX libraries
ii libnvonnxparsers7 7.0.0-1+cuda10.2 amd64 TensorRT ONNX libraries
ii libnvparsers-dev 7.0.0-1+cuda10.2 amd64 TensorRT parsers libraries
ii libnvparsers7 7.0.0-1+cuda10.2 amd64 TensorRT parsers libraries
ii python-libnvinfer 7.0.0-1+cuda10.2 amd64 Python bindings for TensorRT
ii python-libnvinfer-dev 7.0.0-1+cuda10.2 amd64 Python development package for TensorRT
ii python3-libnvinfer 7.0.0-1+cuda10.2 amd64 Python 3 bindings for TensorRT
ii python3-libnvinfer-dev 7.0.0-1+cuda10.2 amd64 Python 3 development package for TensorRT
ii tensorrt 7.0.0.x-1+cuda10.2 amd64 Meta package of TensorRT
ii uff-converter-tf 7.0.0-1+cuda10.2 amd64 UFF converter for TensorRT package
应用程序服务器安装: 在设置将承载TensorRT
供电的应用程序的服务器时,您只需安装以下任何一项:
libnvinfer7
包(C++),再加上您需要的任何附加库包 python libnvinfer
包(python 2.7
)python3 libnvinfer
包(python3.x
)如果要运行使用Debian
软件包使用TensorRT
构建的应用程序,请执行以下命令,例如:
os=”ubuntu1x04”
tag=”cudax.x-trt7.x.x.x-ga-yyyymmdd”
sudo dpkg -i nv-tensorrt-repo-${os}-${tag}_1-1_amd64.deb
sudo apt-key add /var/nv-tensorrt-repo-${tag}/7fa2af80.pub
sudo apt-get update
sudo apt-get install libnvinfer7
此安装方法适用于已经熟悉TensorRT并希望快速运行应用程序或设置自动化的高级用户。
新用户或需要完整安装(包括示例和文档)的用户应遵循本地repo安装说明(请参阅Debian安装)。
注意: 建议您先设置NVIDIA CUDA网络存储库,然后再设置NVIDIA机器学习网络存储库以满足包依赖性。下面我们供一些示例命令来完成此任务。有关更多信息,请参阅NVIDIA CUDA Linux安装指南。
1. 安装NVIDIA CUDA网络存储库安装包。
os=”ubuntu1x04”
cuda=”x.y.z”
wget https://developer.download.nvidia.com/compute/cuda/repos/${os}/x86_64/cuda-repo-${os}_${cuda}-1_amd64.deb
sudo dpkg -i cuda-repo-*.deb
其中:
OS version: ubuntu1x04 is 1604 or 1804
CUDA version: x.y.z is 9.0.176, 10.0.130 or 10.2.89
2. 安装NVIDIA机器学习网络存储库安装包。
os=”ubuntu1x04”
wget https://developer.download.nvidia.com/compute/machine-learning/repos/${os}/x86_64/nvidia-machine-learning-repo-${os}_1.0.0-1_amd64.deb
sudo dpkg -i nvidia-machine-learning-repo-*.deb
sudo apt-get update
3. 安装适合您特殊需要的TensorRT
软件包。
a. 只运行TensorRT C++
应用程序:
sudo apt-get install libnvinfer7 libnvonnxparsers7 libnvparsers7 libnvinfer-plugin7
b. 也用于构建TensorRT C++
应用程序:
sudo apt-get install libnvinfer-dev libnvonnxparsers-dev
libnvparsers-dev libnvinfer-plugin-dev
c. 用于运行TensorRT Python
应用程序:
sudo apt-get install python-libnvinfer python3-libnvinfer
4. 当使用NVIDIA
机器学习网络存储库时,Ubuntu
将默认安装最新CUDA
版本的TensorRT
。以下命令将为较旧的CUDA
版本安装libnvinfer7
,并在此版本中保留libnvinfer7
包。将7.x.x
替换为TensorRT
版本,将cudax.x
替换为CUDA
版本以供安装。
version=”7.x.x-1+cudax.x”
sudo apt-get install libnvinfer7=${version} libnvonnxparsers7=${version} libnvparsers7=${version} libnvinfer-plugin7=${version} libnvinfer-dev=${version} libnvonnxparsers-dev=${version} libnvparsers-dev=${version} libnvinfer-plugin-dev=${version} python-libnvinfer=${version} python3-libnvinfer=${version}
sudo apt-mark hold libnvinfer7 libnvonnxparsers7 libnvparsers7 libnvinfer-plugin7 libnvinfer-dev libnvonnxparsers-dev libnvparsers-dev libnvinfer-plugin-dev python-libnvinfer python3-libnvinfer
如果您想升级到TensorRT
的最新版本或CUDA
的最新版本,那么可以使用以下命令解除libnvinfer7
包的绑定。
sudo apt-mark unhold libnvinfer7 libnvonnxparsers7 libnvparsers7 libnvinfer-plugin7 libnvinfer-dev libnvonnxparsers-dev libnvparsers-dev libnvinfer-plugin-dev python-libnvinfer python3-libnvinfer
您可能需要对libcudnn7
重复这些步骤,以防止cuDNN
更新到最新的CUDA
版本。请参阅TensorRT
发行说明,了解使用您的TensorRT
版本测试的cuDNN
的特定版本。在升级TensorRT
中可以找到降级和保持cuDNN版本
的示例命令。有关更多信息,请参阅《cuDNN安装指南》。
如果同时启用NVIDIA
机器学习网络存储库和TensorRT
本地存储库,您可能会发现与TensorRT
或cuDNN
的包冲突。您将需要配置APT
,以便它更喜欢本地包而不是网络包。您可以通过在/etc/apt/preferences.d/local-repo
中创建一个新文件来实现这一点,该文件包含以下行:
Package: *
Pin: origin ""
Pin-Priority: 1001
注意 : 此首选项更改将影响的不仅仅是TensorRT,如果您有其他未通过HTTP下载的存储库,则不太可能。要恢复APT的原始行为,只需删除新创建的文件。
本节包含从RPM
软件包安装TensorRT
的说明。此安装方法适用于新用户或希望完整安装(包括示例和文档)的用户。
对于已经熟悉TensorRT并希望快速运行应用程序或设置自动化的高级用户,请按照network repo
安装说明进行操作
注:
cudax.x
、trt7.x.x.x
和yyyyymmdd
替换为特定的CUDA
版本、TensorRT
版本和包日期。python3rpm
包,必须首先启用EPEL
存储库。有关启用EPEL
的更多信息,请参阅CUDA
快速入门指南中的RPM软件包说明。x86_64
,但对于ppc64le
,这些命令应该是相同的1. 下载与您使用的RHEL/CentOS
版本和CPU
体系结构匹配的TensorRT
本地repo
文件。
2. 从RPM local repo
包安装TensorRT
。
tag=”cudax.x-trt7.x.x.x-ga-yyyymmdd”
sudo rpm -Uvh nv-tensorrt-repo-rhel7-${tag}-1-1.x86_64.rpm
sudo yum clean expire-cache
可以安装的软件包包括:
graphsurgeon-tf.x86_64
libnvinfer-bin.x86_64
libnvinfer-devel.x86_64
libnvinfer-doc.x86_64
libnvinfer-plugin-devel.x86_64
libnvinfer-plugin7.x86_64
libnvinfer-samples.x86_64
libnvinfer7.x86_64
libnvonnxparsers-devel.x86_64
libnvonnxparsers7.x86_64
libnvparsers-devel.x86_64
libnvparsers7.x86_64
python-libnvinfer.x86_64
python-libnvinfer-devel.x86_64
python3-libnvinfer.x86_64
python3-libnvinfer-devel.x86_64
tensorrt.x86_64
uff-converter-tf.x86_64
然后安装TensorRT
:
sudo yum install tensorrt
如果使用Python2.7
sudo yum install python-libnvinfer-devel
将安装以下附加软件包:
python-libnvinfer
如果使用Python 3
sudo yum install python3-libnvinfer-devel
将安装以下附加软件包:
python3-libnvinfer
对于UFF转换器(仅当您计划将TensorRT
与TensorFlow
一起使用时才需要):
$ sudo yum install uff-converter-tf
3 验证安装
a. 运行:
rpm -qa | grep tensorrt
您应该会看到类似以下内容:
tensorrt-7.0.0.x-1.cuda10.2.x86_64
b. 运行:
rpm -qa | grep -e libnvinfer -e libnv.*parsers
您应该会看到类似以下内容:
libnvinfer-doc-7.0.0-1.cuda10.2.x86_64
libnvinfer-plugin7-7.0.0-1.cuda10.2.x86_64
libnvinfer-devel-7.0.0-1.cuda10.2.x86_64
libnvinfer-bin-7.0.0-1.cuda10.2.x86_64
libnvinfer7-7.0.0-1.cuda10.2.x86_64
libnvinfer-samples-7.0.0-1.cuda10.2.x86_64
libnvinfer-plugin-devel-7.0.0-1.cuda10.2.x86_64
libnvonnxparsers7-7.0.0-1.cuda10.2.x86_64
libnvonnxparsers-devel-7.0.0-1.cuda10.2.x86_64
libnvparsers7-7.0.0-1.cuda10.2.x86_64
libnvparsers-devel-7.0.0-1.cuda10.2.x86_64
python3-libnvinfer-7.0.0-1.cuda10.2.x86_64
python3-libnvinfer-devel-7.0.0-1.cuda10.2.x86_64
python-libnvinfer-7.0.0-1.cuda10.2.x86_64
python-libnvinfer-devel-7.0.0-1.cuda10.2.x86_64
c. 运行:
rpm -qa | grep graphsurgeon-tf
您应该会看到类似以下内容:
graphsurgeon-tf-7.0.0-1.cuda10.2.x86_64
d. 运行:
rpm -qa | grep uff-converter-tf
您应该会看到类似以下内容:
uff-converter-tf-7.0.0-1.cuda10.2.x86_64
当只需要C++
库和头文件时,可以从英伟达机器学习网络存储库安装TensorRT
。此安装方法适用于已经熟悉TensorRT
并希望快速运行应用程序或设置自动化的高级用户。
新用户或需要完整安装(包括示例和文档)的用户应遵循本地repo
安装说明(请参阅RPM
安装)。
注:建议您先设置NVIDIA CUDA
网络存储库,然后再设置NVIDIA
机器学习网络存储库以满足包依赖性。下面我们提供一些示例命令来完成此任务。有关更多信息,请参阅NVIDIA CUDA Linux
安装指南。
1. 安装NVIDIA CUDA
网络存储库安装包
cuda=”x.y.z”
wget https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-repo-rhel7-${cuda}-1.x86_64.rpm
sudo rpm -Uvh cuda-repo-*.rpm
其中
CUDA version: x.y.z is 9.0.176, 10.0.130 or 10.2.89
2. 安装NVIDIA
机器学习网络存储库安装包。
wget https://developer.download.nvidia.com/compute/machine-learning/repos/rhel7/x86_64/nvidia-machine-learning-repo-rhel7-1.0.0-1.x86_64.rpm
sudo rpm -Uvh nvidia-machine-learning-repo-*.rpm
3. 安装适合您特殊需要的TensorRT软件包。
a. 用于运行TensorRT C++
应用程序:
sudo yum install libnvinfer7 libnvparsers7 libnvonnxparsers7 libnvinfer-plugin7
b. 也用于构建TensorRT C++
应用程序:
sudo yum install libnvinfer-devel libnvparsers-devel libnvonnxparsers-devel libnvinfer-plugin-devel
c. 用于运行TensorRT Python
应用程序:
sudo yum install python-libnvinfer python3-libnvinfer
4. 使用NVIDIA
机器学习网络存储库时,RHEL
将默认安装最新CUDA
版本的TensorRT
。以下命令将为较旧的CUDA
版本安装libnvinfer7
,并在此版本中保留libnvinfer7
包。将6.x.x
替换为TensorRT
版本,将cudax.x
替换为CUDA
版本以供安装。
version=”7.x.x-1.cudax.x”
sudo yum downgrade libnvinfer7-${version} libnvparsers7-${version} libnvonnxparsers7-${version} libnvinfer-plugin7-${version} libnvinfer-devel-${version} libnvparsers-devel-${version} libnvonnxparsers-devel-${version} libnvinfer-plugin-devel-${version} python-libnvinfer-${version} python3-libnvinfer-${version}
sudo yum install yum-plugin-versionlock
sudo yum versionlock libnvinfer7 libnvparsers7 libnvonnxparsers7 libnvinfer-plugin7 libnvinfer-devel libnvparsers-devel libnvonnxparsers-devel libnvinfer-plugin-devel python-libnvinfer python3-libnvinfer
如果您想升级到TensorRT的最新版本或CUDA的最新版本,那么可以使用以下命令解除libnvinfer7包的绑定。
sudo yum versionlock delete libnvinfer7 libnvparsers7 libnvonnxparsers7 libnvinfer-plugin7 libnvinfer-devel libnvparsers-devel libnvonnxparsers-devel libnvinfer-plugin-devel python-libnvinfer python3-libnvinfer
您可能需要对libcudnn7
重复这些步骤,以防止cuDNN
更新到最新的CUDA
版本。请参阅TensorRT
发行说明,了解使用您的TensorRT
版本测试的cuDNN
的特定版本。在升级TensorRT
中可以找到降级和保持cuDNN
版本的示例命令。有关更多信息,请参阅《cuDNN
安装指南》。
本节包含从tar
文件安装TensorRT
的说明。
注意:在执行以下命令之前,您需要用特定的TensorRT
版本替换7.x.x.x
。以下命令是示例。
1. 安装以下依赖项(如果尚未存在):
CUDA 9.0
, 10.0
, 10.2
cuDNN 7.6.5
Python
, Python 3 (Optional)
2. 下载与您正在使用的Linux
发行版匹配的TensorRT tar
文件。
3. 选择要安装TensorRT
的位置。这个tar
文件将把所有内容安装到一个名为TensorRT-7.x.x.x
的子目录中。
4. 解压缩tar
文件
version=”7.x.x.x”
os=””
arch=$(uname -m)
cuda=”cuda-x.x”
cudnn=”cudnn7.x”
tar xzvf TensorRT-${version}.${os}.${arch}-gnu.${cuda}.${cudnn}.tar.gz
其中
7.x.x.x is your TensorRT version
is
:Ubuntu-16.04
Ubuntu-18.04
CentOS-7.6
cuda-x.x is CUDA version 9.0, 10.0, or 10.2.
cudnn7.x is cuDNN version 7.6.
这个目录将有像lib
,include
,data
等子目录…
ls TensorRT-${version}
bin data doc graphsurgeon include lib python samples targets TensorRT-Release-Notes.pdf uff
5. 将TensorRT lib
目录的绝对路径添加到环境变量LD_LIBRARY_PATH
:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:
6. 安装Python TensorRT wheel
文件。
cd TensorRT-${version}/python
如果使用Python 2.7
。
sudo pip2 install tensorrt-*-cp27-none-linux_x86_64.whl
如果使用Python 3.x
。
sudo pip3 install tensorrt-*-cp3x-none-linux_x86_64.whl
7. 安装Python UFF wheel
文件。只有在计划将TensorRT
与TensorFlow
一起使用时,才需要此选项。
cd TensorRT-${version}/uff
如果使用Python 2.7
。
sudo pip2 install uff-0.6.5-py2.py3-none-any.whl
如果使用Python 3.x
。
sudo pip3 install uff-0.6.5-py2.py3-none-any.whl
在这两种情况下,请检查安装情况:
which convert-to-uff
8. 安装Python graphsurgeon wheel
文件。
cd TensorRT-${version}/graphsurgeon
如果使用Python 2.7
。
sudo pip2 install graphsurgeon-0.4.1-py2.py3-none-any.whl
如果使用Python 3.x
。
sudo pip3 install graphsurgeon-0.4.1-py2.py3-none-any.whl
9. 验证安装
a. 确保安装的文件位于正确的目录中。例如,运行tree-d
命令检查lib、include、data
等目录中是否有所有支持的安装文件。
b. 在安装目录中生成并运行一个附带的示例,例如sampleMNIST
。您应该能够编译和执行示例,而不需要额外的设置。有关更多信息,请参阅TensorRT(sampleMNIST)
的“Hello World”。
c. Python
示例位于samples/Python
目录中。
本节包含从zip
文件安装TensorRT
的说明。确保已安装以下依赖项。
CUDA 9.0, 10.0, or 10.2
cuDNN 7.6.5
Windows10
上从zip
包安装TensorRT
的说明。Windows
版本匹配的TensorRT zip
文件。TensorRT
的位置。zip文件将把所有内容安装到一个名为TensorRT-7.x.x.x
的子目录中。在下面的步骤中,这个新的子目录将被称为
。TensorRT-7.x.x.x.Windows10.x86\u 64.cuda-x.x.cudnnx.x.zip
文件解压缩到您选择的位置。替换:7.x.x.x with the TensorRT version
cuda-x.x with the CUDA version,
cudnnx.x with the cuDNN version for your particular download
DLL
文件放在解压缩的位置,并将/lib
添加到系统路径中。您可以使用以下步骤将新路径添加到系统路径。Windows
键并搜索“环境变量”,它将显示“编辑系统环境变量”选项,然后单击它。/lib
的新项。cuDNN
库没有复制到CUDA
安装目录,而是放在解压的地方,那么对cudnbin
目录重复上述步骤。DLL
文件从/lib
复制到CUDA
安装目录,例如C:\Program files\NVIDIA GPU Computing Toolkit\CUDA\vX.Y\bin
,其中vX.Y
是CUDA
版本。CUDA
安装程序应该已经将CUDA
路径添加到您的系统路径中。visualstudio
解决方案文件,例如TensorRT(sampleMNIST)
的“Hello World”
,并确认您能够生成和运行该示例。如果要在自己的项目中使用TensorRT
,请确保Visual Studio
解决方案项目属性中存在以下内容:/lib
已添加到PATH
变量中,并显示在VC++
目录>可执行目录下。C/C++
>一般>附加目录下。nvinfer.lib
文件项目所需的任何其他LIB
文件都位于Linker>Input>Additional Dependencies
下。VisualStudio2017(https://visualstudio.microsoft.com/downloads/)
已安装。社区版足以构建TensorRT
示例。6. 如果您使用的是TensorFlow
,请安装uff
和graphsurgeon wheel
软件包。在安装uff
和graphsurgeon
之前,必须准备Python
环境。
如果使用是的Python 2.7
:
python -m pip install \graphsurgeon\graphsurgeon-0.4.1-py2.py3-none-any.whl
python -m pip install \uff\uff-0.6.5-py2.py3-none-any.whl
如果使用的是 Python 3.x
:
python3 -m pip install \graphsurgeon\graphsurgeon-0.4.1-py2.py3-none-any.whl
python3 -m pip install \uff\uff-0.6.5-py2.py3-none-any.whl
除了从产品包安装TensorRT
外,还可以从以下位置安装TensorRT
。
TensorRT集装箱
TensorRT
容器提供了一种简单的方法来部署TensorRT
,容器中已经打包了所有必要的依赖项。有关通过容器安装TensorRT
的信息,请参阅TensorRT容器发行说明。
JetPack
JetPack
捆绑了所有Jetson
平台软件,包括TensorRT
。使用它来闪存您的Jetson
开发工具包与最新的操作系统映像,安装nvidiasdk
,并启动您的开发环境。有关通过JetPack
安装TensorRT
的信息,请参阅JetPack文档。
有关JetPack
下载,请参阅开发:JetPack。
NVIDIA DriveWorks
TensorRT
的每一个版本都提供了一些功能,使驱动开发平台成为一个优秀的自动驾驶计算平台。有关通过DriveWorks
安装TensorRT
的更多信息,请参阅文档DriveWorks。
有关DriveWorks
下载,请参阅NVIDIA Developer:Drive downloads。
仅当当前安装的TensorRT
版本等于或高于上两个公共版本时,才支持将TensorRT
升级到最新版本。例如,TensorRT 7.x.x
支持从TensorRT 5.1.x
和TensorRT 6.0.x
升级。如果要从不受支持的版本升级,则应增量升级,直到达到TensorRT
的最新版本。
以下部分提供了为Ubuntu
和Windows
用户升级TensorRT
的分步说明。/
这些升级说明仅适用于Ubuntu
和Windows
用户。从TensorRT 6.x.x
升级到TensorRT 7.x.x
时,请确保您熟悉以下内容。
使用Debian文件
Debian
软件包旨在升级您的开发环境,而不删除其他软件包和程序可能依赖的任何运行时组件。如果您通过Debian
软件包安装了TensorRT 6.x.x
,并升级到TensorRT 7.x.x
,那么您的文档、示例和标题都将更新为TensorRT 7.x.x
内容。下载新的本地repo
后,使用apt get
将系统升级到新版本的TensorRT
。os=”ubuntu1x04”
tag=”cudax.x-trt7.x.x.x-ga-yyyymmdd”
sudo dpkg -i nv-tensorrt-repo-${os}-${tag}_1-1_amd64.deb
sudo apt-get update
sudo apt-get install tensorrt libcudnn7
Python 2.7
:sudo apt-get install python-libnvinfer-dev
Python 3.x
:sudo apt-get install python3-libnvinfer-dev
uff
转换器和/
或graphsurgeon
,那么您还应该将这些Debian
包升级到最新版本。sudo apt-get install uff-converter-tf graphsurgeon-tf
/usr/src/tensorrt
目录,并且dpkg-l tensorrt
命令显示的相应版本是7.x.x.x
。sudo apt get autoremove
之前,不会删除libnvinfer6
包tar
文件的系统上安装Debian
包,请注意Debian
包不会删除以前安装的文件。除非需要并行安装,否则最好在安装新版本之前删除旧版本,以避免针对过时的库进行编译。NVIDIA
机器学习网络存储库,则它可能与预期从本地存储库安装的TensorRT
的libcudnn7
版本冲突。以下命令将libcudnn7
更改为7.6.x.x
版本,该版本受TensorRT 7.x.x
的支持和测试,并将libcudnn7
包保存在此版本。将cudax.x
替换为适合您安装的CUDA
版本。version=”7.6.x.x-1+cudax.x”
sudo apt-get install libcudnn7=${version} libcudnn7-dev=${version}
sudo apt-mark hold libcudnn7 libcudnn7-dev
使用 tar file
tar
文件安装方法进行升级,请将TensorRT
安装到新位置。Tar
文件安装可以支持多个用例,包括完整安装TensorRT 6.x.x
,并附带头文件和文档,以及完整安装TensorRT7.x.x
。如果打算让新版本的TensorRT
替换旧版本,则应在验证新版本后删除旧版本。Debian
软件包的系统上安装tar
文件,请注意tar
文件安装不会删除以前安装的软件包。除非需要并行安装,否则最好删除以前安装的libnvinfer6、libnvinferdev
和libnvinfersamples
包以避免混淆。使用zip file
zip
文件安装方法进行升级,请将TensorRT
安装到新位置。Zip
文件安装可以支持多种用例,包括完整安装TensorRT 6.x.x
(带标题)和文档,并与完整安装TensorRT 7.x.x
并排安装。如果打算让新版本的TensorRT
替换旧版本,则应在验证新版本后删除旧版本。TensorRT
后,您需要更新PATH
环境变量以指向新的安装位置,或者将DLL
文件复制到以前安装TensorRT
库的位置。有关设置PATH
环境变量的更多信息,请参阅Zip文件安装。以下部分提供了为RedHa
t和CentOS
用户升级TensorRT
的分步说明。
这些升级说明仅适用于Red Hat Enterprise Linux(RHEL)
和CentOS
用户。从TensorRT 6.x.x
升级到TensorRT 7.x.x
时,请确保您熟悉以下内容。
Using an RPM file
RPM
包的设计目的是升级开发环境,而不删除其他包和程序可能依赖的任何运行时组件。如果您通过RPM
软件包安装了TensorRT 6.x.x
,并且希望升级到TensorRT 7.x.x
,那么您的文档、示例和标题都将更新为TensorRT 7.x.x
内容。下载新的本地repo
后,执行:tag=”cudax.x-trt7.x.x.x-ga-yyyymmdd”
sudo rpm -Uvh nv-tensorrt-repo-rhel7-${tag}-1-1.x86_64.rpm
sudo yum clean expire-cache
sudo yum install tensorrt libcudnn7
Python 2.7
:sudo yum install python-libnvinfer-devel
Python 3.x
:sudo yum install python3-libnvinfer-devel
uff
转换器和/
或graphsurgeon
。sudo yum install uff-converter-tf graphsurgeon-tf
/usr/src/tensorrt
目录,并且使用rpm-qa tensorrt
命令显示的相应版本是7.x.x.x
。NVIDIA
机器学习网络存储库,则它可能与预期从本地存储库安装的TensorRT
的libcudnn7
版本冲突。以下命令将libcudnn7
更改为7.6.x.x
版本,该版本受TensorRT 7.x.x
的支持和测试,并将libcudnn7
包保存在此版本。将cudax.x
替换为适合您安装的CUDA
版本。version=”7.6.x.x-1.cudax.x”
sudo yum downgrade libcudnn7-${version} libcudnn7-devel-${version}
sudo yum install yum-plugin-versionlock
sudo yum versionlock libcudnn7 libcudnn7-devel
本节提供有关卸载TensorRT
方法的分步说明。
要使用untarred
文件卸载TensorRT
,只需删除tar
文件并将LD_LIBRARY_PATH
重置为其原始值。
要使用zip
文件卸载TensorRT
,只需删除解压缩的文件并从path
环境变量中删除新添加的路径。
要使用Debian
或RPM
软件包卸载TensorRT
,请执行以下步骤:
1. 卸载使用Debian
或RPM
软件包安装的libnvinfer7
。
sudo apt-get purge "libnvinfer*"
Or
sudo yum erase "libnvinfer*"
2. 卸载uff converter tf
和graphsurgeon tf
,它们也是使用Debian
或RPM
包安装的。
sudo apt-get purge graphsurgeon-tf
Or
sudo yum erase graphsurgeon-tf
uff-converter-tf也将通过上述命令移除。
您可以使用以下命令卸载uff-converter-tf 而不删除graphsurgeon tf,然而,它不再是必需的。
sudo apt-get purge uff-converter-tf
Or
sudo yum erase uff-converter-tf
以后也可以使用autoremove
卸载graphsurgeon tf
。
sudo apt-get autoremove
Or
sudo yum autoremove
3. 卸载Python TensorRT wheel
文件。
如果使用是的Python 2.7
:
sudo pip2 uninstall tensorrt
如果使用的是 Python 3.x
:
sudo pip3 uninstall tensorrt
4. 卸载Python UFF wheel
文件。
如果使用是的Python 2.7
:
sudo pip2 uninstall uff
如果使用的是 Python 3.x
:
sudo pip3 uninstall uff
5. 卸载Python GraphSurgeon wheel
文件。
如果使用是的Python 2.7
:
sudo pip2 uninstall graphsurgeon
如果使用的是 Python 3.x
:
sudo pip3 uninstall graphsurgeon
本节提供有关PyCUDA
的有用信息,包括如何安装。
注意:如果你必须在你的系统上更新你的CUDA
版本,现在不要安装PyCUDA
。先执行更新CUDA
中的步骤,然后安装PyCUDA
。
PyCUDA
在Python
包装器中用于访问NVIDIA
的cudaapi
。PyCUDA
的一些关键功能包括:
CUDA
映射到Python
中。RTCG
)。GPU
上线性代数,减少,扫描。FFT
和LAPACK
的附加软件包。PyCUDA
,请首先确保nvcc
位于您的路径中,然后执行以下命令:pip install 'pycuda>=2019.1.1'
如果在使用上述命令安装PyCUDA
后遇到任何PyCUDA
使用问题,您可能需要自己重新编译它。有关更多信息,请参阅在Linux
上安装PyCUDA
。
现有的PyCUDA
安装不会自动与新安装的CUDA
工具包一起工作。这是因为在安装PyCUDA
时,PyCUDA
只能与目标系统上已经存在的CUDA
工具箱一起工作。这要求在安装CUDA
工具包的更新版本后更新PyCUDA
。
下面的步骤是最可靠的方法,可以确保在升级系统上的CUDA
工具包后,一切都以兼容的方式工作。
PyCUDA
安装。CUDA
。有关更多信息,请参阅CUDA安装指南。PyCUDA
。要安装PyCUDA
,执行以下命令:pip install 'pycuda>=2019.1.1'
有关疑难解答支持,请咨询您的支持工程师或将您的问题发布到NVIDIA
开发人员论坛上。
NVIDIA Developer Forum
(略)
如果错误,欢迎批评指正
翻译不易,欢迎关注收藏转载,转载请注明出处,感谢
#############################################################################
----拓展
另推荐一门深蓝学院开设讲解TensorRT模型加速的线上课程,可以对TensorRT整体框架的细节理解和运用都能起到很好的帮助:
链接:深度神经网络加速 cuDNN 与 TensorRT