TAO-converter使用教程及其作用

什么是TAO-converter(TAO轉(zhuǎn)換器)?
在TAO Toolkit中訓(xùn)練的模型通過TensorRT部署到NVIDIA的推理SDK,如DeepStream、Riva等。NVIDIA TensorRT是一個(gè)用于高性能深度學(xué)習(xí)推理的SDK。TensorRT提供API和解析器,用于從所有主要的深度學(xué)習(xí)框架中導(dǎo)入經(jīng)過訓(xùn)練的模型。然后,它生成可在數(shù)據(jù)中心以及汽車和嵌入式環(huán)境中部署的優(yōu)化運(yùn)行時(shí)引擎。要更好地了解TensorRT及其功能,請參閱TensorRT官方文檔。雖然使用TAO Toolkit訓(xùn)練的對話式AI模型只能通過Riva使用TensorRT,但使用TAO工具包訓(xùn)練的計(jì)算機(jī)視覺模型可以通過TAO轉(zhuǎn)換器工具使用TensorRT。TAO轉(zhuǎn)換器解析導(dǎo)出的.etlt模型文件,并生成優(yōu)化的TensorRT引擎??梢陨蛇@些引擎以支持低精度的推理,例如FP16或INT8。
雖然大多數(shù)TAO模型支持將.etlt文件直接集成到DeepStream 6.1中,但DeepStream也可以使用由TAO轉(zhuǎn)換器生成的優(yōu)化引擎。
TAO轉(zhuǎn)換器生成的TensorRT引擎特定于生成它的GPU。因此,基于模型部署到的平臺,您需要下載TAO轉(zhuǎn)換器的特定版本并在那里生成引擎。
TAO 3.0-22.05的TAO模型已被驗(yàn)證與TensorRT 7.0、7.1、7.2、8.0、8.2和8.4版集成。
--------------------------------------------------------------------------------------------------------------------------
安裝TAO-converter需要注冊NGC賬戶,免費(fèi)!
這里給出兩種下載方式
第一種是直接去下面給出的官網(wǎng)右上角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
設(shè)置環(huán)境變量
export TRT_LIB_PATH=/usr/lib/x86_64-linux-gnu
export TRT_INC_PATH=/usr/include/x86_64-linux-gnu
接下來就可以使用tao-converter啦!
下面是參數(shù)示例,更詳細(xì)的內(nèi)容可以訪問下面的網(wǎng)址最底部
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