在 Azure VM 上运行 TAO
Microsoft Azure Cloud 提供了多个GPU 优化虚拟机 (VM),可以访问 NVIDIA A100、V100 和 T4 GPU。
Azure 提供了多个由 NVIDIA GPU 驱动的 VM,包括 ND 100、NCv3 和 NC T4v3 系列。我们建议使用 NVIDIA 提供的 GPU 优化镜像作为 VM 的基础镜像。此基础镜像包含所有底层依赖项,从而减少了安装驱动程序和其他先决条件的摩擦。
单击立即获取按钮,从 Azure Marketplace 拉取GPU 优化镜像。
在软件计划下选择 v21.04.1 版本以选择最新版本。这将包含最新的 NVIDIA 驱动程序和 CUDA 工具包。选择版本后,它将引导您进入 Azure 门户,您将在其中创建 VM。
配置您的 VM。
在 Azure 门户中,单击创建以开始配置 VM。
这将拉出以下页面,您可以在其中选择您的订阅方法、资源组、区域和硬件配置。
为您的 VM 提供一个名称。然后单击末尾的查看 + 创建按钮以进行最终查看。
注意默认磁盘空间为 32GB。我们建议此实验使用 > 128GB 磁盘。
对您正在创建的产品进行最终审核。然后单击
创建
按钮以在 Azure 中启动您的 VM。注意创建 VM 后,您将开始产生费用,因此请查看定价详细信息。
登录到您的 VM:创建 VM 后,使用您的 VM 的用户名和域名或 IP 地址 SSH 进入您的 VM。
ssh <username>@<ip_address>
在 VM 中配置用户权限
sudo su - root usermod -a -G docker azureuser
安装先决条件
apt
包apt-get -y install python3-pip unzip
安装 virtualenv wrapper
pip3 install virtualenvwrapper
配置 virtualenv wrapper
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 source /usr/local/bin/virtualenvwrapper.sh
使用以下命令为启动器创建一个 virtualenv
mkvirtualenv -p /usr/bin/python3 launcher
注意您只需在实例中创建一次 virtualenv。当您重启实例时,只需运行步骤 3 中的命令,并使用以下命令调用相同的 virtualenv
workon launcher
使用以下命令在 virtualenv 中安装 jupyterlab
pip3 install jupyterlab
登录到名为
nvcr.io
的 NGC docker 注册表docker login nvcr.io
用户名是
$oauthtoken
,密码是NGC API KEY
。您可以从NGC 网站设置此 API 密钥。安装 TAO 启动器包
pip3 install nvidia-tao
使用
tao info --verbose
命令验证启动器安装。Configuration of the TAO Instance task_group: model: dockers: nvidia/tao/tao-toolkit: 5.0.0-tf2.9.1: docker_registry: nvcr.io tasks: 1. classification_tf2 2. efficientdet_tf2 5.0.0-tf1.15.5: docker_registry: nvcr.io tasks: 1. bpnet 2. classification_tf1 3. converter 4. detectnet_v2 5. dssd 6. efficientdet_tf1 7. faster_rcnn 8. fpenet 9. lprnet 10. mask_rcnn 11. multitask_classification 12. retinanet 13. ssd 14. unet 15. yolo_v3 16. yolo_v4 17. yolo_v4_tiny 5.0.0-pyt: docker_registry: nvcr.io tasks: 1. action_recognition 2. classification_pyt 3. deformable_detr 4. dino 5. mal 6. ml_recog 7. ocdnet 8. ocrnet 9. optical_inspection 10. pointpillars 11. pose_classification 12. re_identification 13. re_identification_transformer 14. segformer dataset: dockers: nvidia/tao/tao-toolkit: 5.0.0-dataservice: docker_registry: nvcr.io tasks: 1. augmentation 2. auto_label 3. annotations 4. analytics deploy: dockers: nvidia/tao/tao-toolkit: 5.0.0-deploy: docker_registry: nvcr.io tasks: 1. classification_pyt 2. classification_tf1 3. classification_tf2 4. deformable_detr 5. detectnet_v2 6. dino 7. dssd 8. efficientdet_tf1 9. efficientdet_tf2 10. faster_rcnn 11. lprnet 12. mask_rcnn 13. ml_recog 14. multitask_classification 15. ocdnet 16. ocrnet 17. optical_inspection 18. retinanet 19. segformer 20. ssd 21. unet 22. yolo_v3 23. yolo_v4 24. yolo_v4_tiny format_version: 3.0 toolkit_version: 5.0.0 published_date: 05/31/2023
现在您已经创建了 virtualenv 并安装了所有依赖项,您现在可以下载并在笔记本上运行 TAO 示例了。以下说明假设您正在运行 TAO 计算机视觉示例。
使用以下命令从 NGC 下载并解压缩笔记本
wget --content-disposition https://api.ngc.nvidia.com/v2/resources/nvidia/tao/tao-getting-started/versions/5.0.0/zip -O tao-getting-started_5.0.0.zip unzip -u tao-getting-started_5.0.0.zip -d ./tao-getting-started_5.0.0 && cd ./tao-getting-started_5.0.0
使用以下命令启动 jupyter notebook
jupyter notebook --ip 0.0.0.0 --port 8888 --allow-root --NotebookApp.token=<notebook_token>
这将在 VM 中启动 jupyter notebook 服务器。要访问此服务器,请导航到
http://<dns_name>:8888/
,并在出现提示时输入用于启动 notebook 服务器的<notebook_token>
。此处的dns_name
是 VM 的公共 IPv4 DNS,您将在相应实例的 EC2 仪表板下看到它。