TAO-converter使用教程及其作用

什么是TAO-converter(TAO转换器)?
在TAO Toolkit中训练的模型通过TensorRT部署到NVIDIA的推理SDK,如DeepStream、Riva等。NVIDIA TensorRT是一个用于高性能深度学习推理的SDK。TensorRT提供API和解析器,用于从所有主要的深度学习框架中导入经过训练的模型。然后,它生成可在数据中心以及汽车和嵌入式环境中部署的优化运行时引擎。要更好地了解TensorRT及其功能,请参阅TensorRT官方文档。虽然使用TAO Toolkit训练的对话式AI模型只能通过Riva使用TensorRT,但使用TAO工具包训练的计算机视觉模型可以通过TAO转换器工具使用TensorRT。TAO转换器解析导出的.etlt模型文件,并生成优化的TensorRT引擎。可以生成这些引擎以支持低精度的推理,例如FP16或INT8。
虽然大多数TAO模型支持将.etlt文件直接集成到DeepStream 6.1中,但DeepStream也可以使用由TAO转换器生成的优化引擎。
TAO转换器生成的TensorRT引擎特定于生成它的GPU。因此,基于模型部署到的平台,您需要下载TAO转换器的特定版本并在那里生成引擎。
TAO 3.0-22.05的TAO模型已被验证与TensorRT 7.0、7.1、7.2、8.0、8.2和8.4版集成。
--------------------------------------------------------------------------------------------------------------------------
安装TAO-converter需要注册NGC账户,免费!
这里给出两种下载方式
第一种是直接去下面给出的官网右上角download即可
https://catalog.ngc.nvidia.com/orgs/nvidia/teams/tao/resources/tao-converter
第二种是用NGC CLI直接拉取
ngc registry resource download-version nvidia/tao/tao-converter:<latest_version> --dest /path/to/download/directory
接下来安装OpenSSL package
sudo apt-get install libssl-dev
设置环境变量
export TRT_LIB_PATH=/usr/lib/x86_64-linux-gnu
export TRT_INC_PATH=/usr/include/x86_64-linux-gnu
接下来就可以使用tao-converter啦!
下面是参数示例,更详细的内容可以访问下面的网址最底部
https://catalog.ngc.nvidia.com/orgs/nvidia/teams/tao/resources/tao-converter
tao-converter [-h] -k <encryption_key>
-d <input_dimensions>
-o <comma separated output nodes>
[-c <path to calibration cache file>]
[-e <path to output engine>]
[-b <calibration batch size>]
[-m <maximum batch size of the TRT engine>]
[-t <engine datatype>]
[-w <maximum workspace size of the TRT Engine>]
[-i <input dimension ordering>]
[-p <optimization_profiles>]
[-s]
[-u <DLA_core>]
input_file