高级用户
NVIDIA TAO 是一个低代码 AI 工具包,包含用于训练、微调和优化各种计算机视觉用例的深度学习模型的解决方案。这些深度学习解决方案在许多流行的训练框架中实现,例如 TensorFlow(版本 2.11.x 和版本 2.x)、PyTorch(包括 PyTorch Lightning)和 NVIDIA TensorRT。从 TAO 5.0.0 版本开始,所有核心深度学习网络实现的源代码都已开源,让您可以了解不同网络的工作原理并对其进行自定义以满足您的用例。
源代码存储库被组织成以下核心存储库,TAO 深度学习容器从中构建。
tao_tensorflow1_backend:带有 TensorFlow 1.x 后端的 TAO 深度学习网络
tao_tensorflow2_backend:带有 TensorFlow 2.x 后端的 TAO 深度学习网络
tao_pytorch_backend:带有 PyTorch 后端的 TAO 深度学习网络
tao_dataset_suite:一套高级数据增强和分析工具。此存储库中的源代码映射到 TAO 数据服务部门中包含的例程。
tao_deploy:一个使用 TensorRT 来优化 TAO 训练模型并运行推理和评估的软件包。
tao_launcher:一个 Python CLI,用于与可以使用 pip 安装的 TAO 容器进行交互。
tao_front_end_services:作为独立服务的 TAO 和 TAO 客户端 CLI 软件包
还有一个轻量级存储库,其中包含补充工具和教程
tao_tutorials:快速入门脚本和教程笔记本,帮助您开始使用 TAO
下图说明了用户发出的命令如何流向系统。
运行 PyTorch 网络

与源代码一起,从 TAO 5.0.0 开始,每个存储库还包括一个预构建的开发容器(称为基础容器)。基础容器具有与源代码交互所需的所有预构建的 GPU 依赖库和第三方 Python 软件包。基础容器从源代码安装必要的依赖项,从而无需管理软件包版本和管理您的 Python 环境。
NVIDIA 强烈建议开发人员使用此执行模型。为了与基础容器交互,所有存储库都打包了一个默认运行器,该运行器导出为二进制文件。要导出此运行器,您可以运行以下命令
source $REPOSITORY_ROOT/scripts/envsetup.sh
下面显示了此命令的示例输出(来自 PyTorch 存储库)
TAO pytorch build environment set up.
The following environment variables have been set:
NV_TAO_PYTORCH_TOP /localhome/local-vpraveen/Software/tao_gitlab/tlt-pytorch
The following functions have been added to your environment:
tao_pt Run command inside the container.
运行此命令后,按如下方式在存储库中执行所需的脚本
tao_pt <runner_args> -- python path/to/script.py --<script_args>
例如,要从源代码存储库运行 grounding_dino
入口点,您可以运行以下命令
$ tao_pt -- python nvidia_tao_pytorch/cv/grounding_dino/entrypoint/grounding_dino.py --help
usage: grounding_dino [-h] [-e EXPERIMENT_SPEC_FILE] {evaluate,export,inference,train}
Train Adapt Optimize entrypoint for grounding_dino
positional arguments:
{evaluate,export,inference,train}
Subtask for a given task/model.
options:
-h, --help show this help message and exit
-e EXPERIMENT_SPEC_FILE, --experiment_spec_file EXPERIMENT_SPEC_FILE
Path to the experiment spec file.
每个存储库都介绍了构建、交互甚至在需要时升级基础容器的过程。有关运行器及其可配置参数的更多信息,请参阅此部分中链接的各个存储库。