TensorRT安装与使用(一)

文章目录

    • 0. 概要
    • 1. 入门
    • 2. 下载
    • 3.安装
      • 3.1 tar安装

参考

0. 概要

 NVIDIA TensorRT 的核心是一个C++库,有助于对 NVIDIA 图形处理单元 (GPU) 进行高性能推理。TensorRT 采用经过训练的网络,该网络由网络定义和一组经过训练的参数组成,并生成高度优化的运行时引擎,为该网络执行推理。
 TensorRT通过C++和 Python 提供 API,这些模型通过网络定义 API 帮助表达深度学习模型,或通过解析器加载预定义的模型,使TensorRT能够在 NVIDIA GPU 上优化和运行它们。TensorRT应用图形优化、图层融合等优化,同时利用各种高度优化内核集合,找到该模型的最快实现。TensorRT还提供运行时。

1. 入门

 确保您熟悉以下安装要求和注意事项。

  • TensorRT的 Windows zip 包不提供 Python 支持。将来可能会支持 Python。
  • 如果您正在使用TensorRT Python API,但是PyCUDA 尚未安装在您的系统上,请参阅安装 PyCUDA。如果您在 PyCUDA 使用方面遇到任何问题,您可能需要自己重新编译它。有关详细信息,请参阅在Linux 上安装 PyCUDA。
  • 确保您熟悉发行说明。当前版本的发行说明可以在TensorRT 发行说明上找到。
  • 验证您是否安装了 CUDA 工具包;支持版本 9.0 、10.0和10.2。
  • TensorFlow到TensorRT模型导出需要TensorFlow 1.14.0。
  • PyTorch 示例已使用PyTorch 1.3.0进行了测试,但可能与旧版本一起使用。
  • 如果目标系统同时安装了TensorRT和训练框架,最简单的策略是将同一版本的cuDNN用于训练框架,就像TensorRT附带的一样。在某些情况下,需要修改训练框架。
  • 从TensorRT 5.0开始,libnvcaffe_parser.so库已经被libnvparsers.so包含。指向libnvcaffe_parser.so的符号链接也重新指向libnvparsers.so。但是静态库libnvcaffe_parser.a还是指向libnvparsers_static.a
  • 下面的安装说明假设您想要安装完整的TensorRT;C++和TensorRT Python API。在某些环境和用例中,您可能不希望安装 Python 功能。在这种情况下,不要安装 Debian、标记为 Python 的RPM 包或whl文件。C++ API 功能都不依赖于 Python。如果要从TensorFlow模型导出 UFF 文件,则需要安装 UFF的whl 文件。

2. 下载

 注册NVIDIA账户,点击Download Now,选择安装版本,同意license terms,点击想要安装的包,开始下载。

3.安装

 Debian 和 RPM 安装会自动安装依赖项,但是

  • 需要sudo权限来安装
  • 在哪个位置安装没有灵活性
  • 要求CUDA工具包或者cuDNN也已使用 Debian 或 RPM 软件包安装。
  • 不允许同时安装多个版本的 TensorRT
     tar 文件提供了更大的灵活性,例如同时安装多个版本的 TensorRT。但是,您需要确保已安装必要的依赖项,并且必须自行管理LD_LIBRARY_PATH。有关详细信息,请参阅Tar 文件安装。
     zip 文件是当前 Windows 的唯一选项。它不支持除 Windows 以外的任何其他平台。确保已安装必要的依赖项。有关详细信息,请参阅Zip 文件安装。

3.1 tar安装

  1. 安装依赖项

    • CUDA 9.0/10.0/10.2
    • cuDNN 7.6.5
    • python 2/3(可选)
  2. 下载tar文件,选择对应的Linux版本

  3. 选择安装位置,tar文件会将所有内容都安装在一个名为TensorRT-版本号的文件中

  4. 解压tar文件

version=”7.x.x.x” #tensorRT版本号
os=”” #Ubuntu-16.04/18.04 CentOS-7.6
arch=$(uname -m)
cuda=”cuda-x.x” #9.0/10.0/10.2
cudnn=”cudnn7.x” #7.6

tar xzvf TensorRT-${version}.${os}.${arch}-gnu.${cuda}.${cudnn}.tar.gz

 解压文件包含了lib,include,data

ls TensorRT-${version}
bin  data  doc  graphsurgeon  include  lib  python  samples  targets  TensorRT-Release-Notes.pdf  uff
  1. 将TensorRT lib库绝对路径添加到环境变量LD_LIBRARY_PATH
export PATH=/usr/local/TensorRT-7.0.0.11/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/TensorRT-7.0.0.11/lib:$LD_LIBRARY_PATH
  1. 安装python tensorrt wheel文件
cd TensorRT-${version}/python

python 2.7

sudo pip2 install tensorrt-*-cp27-none-linux_x86_64.whl

python3.X

sudo pip3 install tensorrt-*-cp3x-none-linux_x86_64.whl
  1. 安装python UFF whell文件(只有使用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
  1. 安装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
  1. 验证安装

    • 确保安装文件位于正确的文件夹。检查是否所有的支持安装文件都放在lib, include, data等文件夹
    tree -d
    
    • build & run 某一个sample,参考sampleMNIST
    • Python的samples 位于 samples/python.

你可能感兴趣的:(TensorRT,工具安装)