中级用户
您可以直接使用 Docker 容器运行 TAO。TAO 下有多个容器,根据您要训练的模型,您必须拉取适当的容器。使用 Launcher CLI 时,这不是必需的。
export DOCKER_REGISTRY="nvcr.io"
export DOCKER_NAME="nvidia/tao/tao-toolkit"
export DOCKER_TAG="5.0.0-tf1.15.5" ## for TensorFlow docker
export DOCKER_CONTAINER=$DOCKER_REGISTRY/$DOCKER_NAME:$DOCKER_TAG
docker run -it --rm --gpus all -v /path/in/host:/path/in/docker $DOCKER_CONTAINER \
detectnet_v2 train -e /path/to/experiment/spec.txt -r /path/to/results/dir -k $KEY --gpus 4
有关如何直接从容器运行的详细说明,请参阅本节。
TAO API 是一项 Kubernetes 服务,支持使用 REST API 构建端到端 AI 模型。API 服务可以使用 Helm chart 以及最少的依赖项安装在 Kubernetes 集群(本地/AWS EKS)上。TAO 作业可以使用集群上可用的 GPU 运行,并且可以扩展到多节点设置。您可以使用 TAO 客户端 CLI 远程与 TAO 服务交互,或者您可以直接使用 REST API 将其与您的应用程序和服务集成。
要开始使用,请使用提供的一键部署脚本在裸机设置或 Amazon EKS 等托管 Kubernetes 服务上进行部署。使用 API 直接训练或使用客户端应用程序进行训练的 Jupyter Notebooks 在 notebooks/api_starter_kit
下提供。
bash setup/quickstart_api_bare_metal/setup.sh install
bash setup/quickstart_api_aws_eks/setup.sh install
有关设置 API 服务和 API 的更多信息,请此处提供。
您还可以通过使用 Python wheel 在裸机上直接运行 TAO,而无需 Docker 或 K8s,Python wheel 包含 DNN 功能的独立实现,这些功能已预构建并打包到 TAO 容器中。
下表将每个 TAO wheel 映射到其容器,并捕获与这些 wheel 关联的任何异常。
Wheel 名称 |
容器映射 |
支持的网络 |
---|---|---|
nvidia-tao-pytorch | nvcr.io/nvidia/tao/tao-toolkit:5.5.0-pytorch |
|
nvidia-tao-deploy | nvcr.io/nvidia/tao/tao-toolkit:5.5.0-deploy |
|
TAO 提供了示例教程,允许您在 Google Colab 上与 Python wheel 交互,而无需配置您的基础设施。有关如何使用 Google Colab 的完整说明,请参阅TAO 与 Google Colab部分。
本地安装 nvidia_tao_deploy
本节详细介绍如何本地安装 nvidia_tao_deploy
wheel。
安装以下 Python pip 依赖项
python3 -m pip install --upgrade pip python3 -m pip install Cython==0.29.36 python3 -m pip install nvidia-ml-py python3 -m pip install nvidia-pyindex python3 -m pip install --upgrade setuptools python3 -m pip install pycuda==2020.1 python3 -m pip install nvidia-eff-tao-encryption python3 -m pip install nvidia-eff python3 -m pip install cffi
设置 openMPI 和 mpi4py
sudo apt-get install libopenmpi-dev -y python3 -m pip install mpi4py
安装
nvidia_tao_deploy
wheelpython3 -m pip install nvidia-tao-deploy
本地安装 nvidia_tao_pytorch
nvidia-tao-pytorch
wheel 有几个第三方依赖项,安装起来可能很麻烦。要构建安装,请参阅此脚本中的步骤