TensorRT 是 NVIDIA 推出的一个用于在其GPU上进行机器学习模型推理的框架。它经过高度优化,能够充分利用 NVIDIA GPU 的性能,是目前运行模型的最快方式之一。如果正在使用 NVIDIA TAO Toolkit,提供了一个关于如何构建和部署自定义模型的指南。
如果想要将模型转换为 TensorRT 格式,通常的流程是首先在一个框架中进行训练,比如 PyTorch 或 TensorFlow,然后将其迁移到 TensorRT 框架中。Roboflow 提供了一个简化这个过程的服务,它允许免费将模型部署到 Jetson 设备上。Roboflow 还提供了管理数据集、一键训练模型以及部署到网络、移动设备或边缘设备的功能。
在开始安装 TensorRT 之前,强烈建议使用基于 Linux 的系统,最好是 Ubuntu 20.04。如果没有带有GPU的 Ubuntu 服务器,可以在 AWS 上启动一个 p2.xlarge 实例。
sudo apt install nvidia-driver-440
sudo reboot
nvidia-smi (检查是否工作正常)
从NVIDIA下载正确的 CUDA 发行版,然后进行安装。
sudo dpkg -i cuda-repo-ubuntu1804–10–0-local-10.0.130–410.48_1.0–1_amd64.deb
sudo apt-key add /cuda-repo-10–0-local-10.0.130.410.48/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda
按照这个 将 CUDA 的位置添加到环境变量中。
从 NVIDIA 下载适合系统的 TensorRT 发行版。使用以下命令进行安装,替换为文件名。
sudo dpkg -i nv-tensorrt-repo-ubuntu1804-cuda10.0-trt6.0.1.5-ga-20190913_1-1_amd64
sudo apt-key add /var/nv-tensorrt-repo-ubuntu1804-cuda10.0-trt6.0.1.5-ga-20190913_1-1_amd64/7fa2af80.pub
sudo apt-get update
sudo apt-get install tensorrt
# 这是为 python2 安装
sudo apt-get install python-libnvinfer-dev
# 这是为 python3 安装
sudo apt-get install python3-libnvinfer-dev
sudo apt-get install uff-converter-tf
sudo apt-get install onnx-graphsurgeon
dpkg -l | grep TensorRT
安装完 TensorRT 后,可以使用 NVIDIA 的 C++ 和 Python API 来使用它。建议查看由 wang-xinyu 提供的 ,在那里将找到 TensorRT 中流行深度学习模型的实现。
TensorRT 仅适用于 GPU 推理加速。如果想要在 CPU 上优化推理,应该探索 OpenVINO 和 ONNX 框架。
可以在 Jetson 上运行 TensorRT 以加速推理速度。较新的 Jetson Jetpack 发行版可能已经预装了 TensorRT。还可能想要从一个已经为安装好的 Docker 镜像开始,比如 nvcr.io/nvidia/l4t-ml:r32.5.0-py3。