TAO Deploy 概述

NVIDIA TensorRT 是一个用于高性能深度学习推理的 SDK。它提供 API 和解析器,用于从所有主要的深度学习框架导入训练好的模型;然后,它生成优化的运行时引擎,可以部署在数据中心以及汽车和嵌入式环境中。要更好地理解 TensorRT 及其功能,请参阅官方 TensorRT 文档。
在 TAO 中训练的模型通过 TensorRT 部署到 NVIDIA 推理 SDK(如 DeepStream)。TAO 训练的计算机视觉模型可以通过 tao deploy
被 TensorRT 使用,tao deploy
包含在 tao
启动器中。TAO Deploy 解析导出的 .onnx
模型文件,并生成优化的 TensorRT 引擎。这些引擎可以生成以支持低精度推理(例如,FP16
或 INT8
)。虽然大多数 TAO 模型支持 .onnx
文件与 DeepStream 的直接集成,但 DeepStream 也可以使用 tao deploy
生成的优化引擎。
TAO Deploy 通过解析 .onnx
文件以生成优化的 TensorRT 引擎,从而将模型训练和优化步骤与部署分离。TAO Deploy 还提供工具,以使用原始 TAO 规范文件运行评估和推理。借助 TAO Deploy,您可以执行以下任务
gen_trt_engine
evaluate
inference
与其他 TAO 命令一样,TAO Deploy CLI 遵循级联结构
tao deploy <task> <sub-task> <args>
目前,TAO Deploy 仅支持计算机视觉模型。例如,DetectNet_v2 是 TAO 中用于对象检测的计算机视觉任务,并支持 gen_trt_engine
、evaluate
和 inference
子任务。当您执行类似 tao deploy detectnet_v2 gen_trt_engine --help
的命令时,TAO 启动器会执行以下操作
拉取带有
detectnet_v2
入口点的 TAO Deploy 容器。创建容器的实例。
使用
getn_trt_engine
子任务运行detectnet_v2
入口点。
一旦 TAO 启动器 安装完成后,运行启动器的工作流程如下。
列出 deploy docker 中支持的任务。
您可以使用
tao deploy --help`
命令列出 TAO 启动器中支持的tao deploy
任务usage: tao deploy [-h] {list,stop,info,dataset,deploy,model} ... {classification_pyt,classification_tf1,classification_tf2,deformable_detr,detectnet_v2,dino,dssd,efficientdet_tf1,efficientdet_tf2,faster_rcnn,lprnet,mask_rcnn,ml_recog,multitask_classification,ocdnet,ocrnet,optical_inspection,retinanet,segformer,ssd,unet,yolo_v3,yolo_v4,yolo_v4_tiny} ... optional arguments: -h, --help show this help message and exit task_groups: {list,stop,info,dataset,deploy,model} task: {classification_pyt,classification_tf1,classification_tf2,deformable_detr,detectnet_v2,dino,dssd,efficientdet_tf1,efficientdet_tf2,faster_rcnn,lprnet,mask_rcnn,ml_recog,multitask_classification,ocdnet,ocrnet,optical_inspection,retinanet,segformer,ssd,unet,yolo_v3,yolo_v4,yolo_v4_tiny}
配置启动器实例。
此步骤与常规
tao
启动器步骤相同。有关更多详细信息,请参阅 TAO 启动器文档。运行任务。
您可以使用以下命令格式来运行 TAO 支持的任务
tao deploy <task> <sub-task> <cli_args>
要查看特定任务支持的子任务,您可以使用
help
命令。例如,以下命令列出了detectnet_v2
的任务$ tao deploy detectnet_v2 --help usage: detectnet_v2 [-h] [--gpu_index GPU_INDEX] [--log_file LOG_FILE] {evaluate,gen_trt_engine,inference} ... Transfer Learning Toolkit optional arguments: -h, --help show this help message and exit --gpu_index GPU_INDEX The index of the GPU to be used. --log_file LOG_FILE Path to the output log file. tasks: {evaluate,gen_trt_engine,inference}