TAO v5.5.0

TAO 部署安装

当通过 TAO 启动器调用 tao deploy 命令时,tao deploy 容器将从 NGC 中拉取并实例化。TAO Deploy 容器仅包含少量轻量级 Python 包,例如 OpenCV、Numpy、Pillow 和 ONNX,并且基于 NGC TensorRT 容器。tao deploy 除了 NGC 容器外,还在 PyPI 上作为公共 wheel 发布。tao deploy 生成的 TensorRT 引擎特定于生成它的 GPU。因此,根据模型要部署到的平台,您需要下载特定版本的 tao deploy wheel,并在安装平台对应的 TensorRT 版本后在那里生成引擎。

要从 tao-deploy 容器将 TAO 模型部署到 TensorRT,您应首先通过运行 tao info --verbose 来识别与 tao 启动器关联的最新 Docker 标签。

以下是来自 TAO 5.0.0 的示例输出

复制
已复制!
            

Configuration of the TAO Instance task_group: deploy: dockers: nvidia/tao/tao-toolkit-deploy: 5.0.0-deploy: docker_registry: nvcr.io tasks: 1. centerpose 2. classification_pyt 3. classification_tf1 4. classification_tf2 5. deformable_detr 6. detectnet_v2 7. dino 8. dssd 9. efficientdet_tf1 10. efficientdet_tf2 11. faster_rcnn 12. lprnet 13. mask_rcnn 14. ml_recog 15. multitask_classification 16. ocdnet 17. ocrnet 18. optical_inspection 19. retinanet 20. segformer 21. ssd 22. unet 23. visual_changenet 24. yolo_v3 25. yolo_v4 26. yolo_v4_tiny format_version: 3.0 toolkit_version: 5.0.0

与任务关联的容器名称可以检索为 $DOCKER_REGISTRY/$DOCKER_NAME:$DOCKER_TAG。例如,从上面的日志中,可以按如下方式推导出运行 detectnet_v2 的 Docker 名称

复制
已复制!
            

export DOCKER_REGISTRY="nvcr.io" export DOCKER_NAME="nvidia/tao/tao-toolkit" export DOCKER_TAG="5.0.0-deploy" export DOCKER_CONTAINER=$DOCKER_REGISTRY/$DOCKER_NAME:$DOCKER_TAG

获得 Docker 名称后,调用容器,方法是运行网络定义的命令,而无需 tao deploy 前缀。例如,以下命令将运行 detectnet_v2 TensorRT 引擎生成,用于 FP16。

复制
已复制!
            

docker run -it --rm --gpus all \ -v /path/in/host:/path/in/docker \ $DOCKER_CONTAINER \ detectnet_v2 gen_trt_engine -e /path/to/experiment/spec.txt \ -m /path/to/etlt/file \ -k $KEY \ --data_type fp16 --engine_file /path/to/engine/file

TAO Deploy 也作为公共 wheel 文件在 PyPI 上分发。该 wheel 不包含 TensorRT 或 TensorRT OSS 作为其依赖项的一部分。因此,您必须通过官方 TensorRT 网站安装这些依赖项,或者调用 NGC 上提供的 TensorRT 容器。

运行以下命令以在您的 Python 环境中安装 nvidia-tao-deploy wheel。

复制
已复制!
            

pip install nvidia-tao-deploy

然后,您可以使用 tao deploy 前缀运行 TAO Deploy 任务。例如,以下命令将运行 detectnet_v2 TensorRT 引擎生成,用于 FP16。

复制
已复制!
            

detectnet_v2 gen_trt_engine -e /path/to/experiment/spec.txt \ -m /path/to/etlt/file \ -k $KEY \ --data_type fp16 \ --engine_file /path/to/engine/file

在 Google Colab 上安装 TAO Deploy

您可以使用与 x86 平台安装相同的命令将 nvidia-tao-deploy wheel 下载到 Google Colab。

注意

Colab 的一般限制在此处概述:此处

请按照以下步骤在 Google-Colab 上运行 TAO Deploy

  1. 获取 TensorRT TAR 存档

  1. 访问 TensorRT 网页 <https://developer.nvidia.com/tensorrt>

  2. 在 TensorRT 网页上单击立即下载。这将引导您进入登录网页 <https://developer.nvidia.com/nvidia-tensorrt-download>。在此登录页面上,您必须选择登录立即加入以加入 NVIDIA 开发者计划会员。

  3. 登录后,从可用版本中选择 TensorRT 8。

  4. 同意条款和条件。

  5. 在下一个登录页面上,单击 TensorRT 8.5 GA 以展开可用选项。

  6. 单击TensorRT 8.5 GA for Linux x86_64 and CUDA 11.0, 11.1, 11.2, 11.3, 11.4, 11.5, 11.6, 11.7 and 11.8 TAR Package以下载 TAR 文件。

  1. 将 TAR 文件上传到您的 Google Drive。

上传 TAR 文件后,您可以运行/查看 此示例 Notebook <https://colab.research.google.com/github/NVIDIA-AI-IOT/nvidia-tao/blob/main/ptm/tao_deploy.ipynb>,它为 TAO PTM 生成 TRT 引擎并使用 TAO Deploy 运行推理。

在 Jetson 平台上安装 TAO Deploy

您可以使用与 x86 平台安装相同的命令将 nvidia-tao-deploy wheel 下载到 Jetson 平台。我们建议使用NVIDIA L4T TensorRT Docker 容器,该容器已包含 aarch64 的 TensorRT 安装。成功安装 TensorRT 后,运行以下命令以在您的 Python 环境中安装 nvidia-tao-deploy wheel。

复制
已复制!
            

pip install nvidia-tao-deploy

由于内存问题,您应首先在 x86 平台上运行 gen_trt_engine 子任务以生成引擎;然后,您可以使用生成的引擎在 Jetson 平台上以及使用目标数据集运行推理或评估。

上一篇 TAO Deploy 概述
下一篇 使用 TAO Deploy 的 CenterPose
© 版权所有 2024, NVIDIA。 上次更新时间:2024 年 10 月 15 日。