运行 DIGITS 的方法
您可以通过以下方式运行 DIGITS
- 运行 DIGITS
- 从开发者专区运行 DIGITS
- Docker®。有关更多信息,请参阅 GitHub 上的 DIGITS。
运行 DIGITS
开始之前
在您可以运行 NGC 深度学习框架容器之前,您的 Docker 环境必须支持 NVIDIA GPU。要运行容器,请按照NVIDIA 容器和框架用户指南中运行容器章节中的说明发出相应的命令,并指定注册表、存储库和标签。
关于此任务
在具有 NGC 容器 GPU 支持的系统上,运行容器时会发生以下情况:
- Docker 引擎将镜像加载到运行该软件的容器中。
- 您可以通过包含与命令一起使用的附加标志和设置来定义容器的运行时资源。这些标志和设置在运行容器中进行了描述。
- GPU 明确为 Docker 容器定义(默认为所有 GPU,但可以使用
NVIDIA_VISIBLE_DEVICES
环境变量指定)。从 Docker 19.03 开始,请按照下面概述的步骤操作。有关更多信息,请参阅 nvidia-docker 文档 此处。
系统中实施的方法取决于安装的 DGX OS 版本(对于 DGX 系统)、云服务提供商提供的特定 NGC 云镜像,或者您为在 TITAN PC、Quadro PC 或 vGPU 上运行 NGC 容器而安装的软件。
步骤
- 为您想要的容器的适用版本发出命令。以下命令假设您要拉取最新的容器。
docker pull nvcr.io/nvidia/digits:21.09-tensorflow
- 打开命令提示符并粘贴拉取命令。容器镜像的拉取开始。确保拉取成功完成,然后再继续下一步。
- 运行应用程序。如果您有 Docker 19.03 或更高版本,则启动容器的典型命令是
docker run --gpus all -it --rm -v local_dir:container_dir nvcr.io/nvidia/digits:<xx.xx>-<framework>
如果您有 Docker 19.02 或更早版本,则启动容器的典型命令是nvidia-docker run -it --rm -v local_dir:container_dir nvcr.io/nvidia/digits:<xx.xx>-<framework>
- 要将服务器作为守护程序运行并将容器中的端口 5000 暴露到主机上的端口 8888
docker run --gpus all --name digits -d -p 8888:5000 nvcr.io/nvidia/digits:<xx.xx>-<framework>
注意注意:DIGITS 6.1.1 默认使用端口 5000。
- 要挂载一个包含您的数据的本地目录(只读)和另一个用于写入 DIGITS 作业的目录
docker run --gpus all --name digits -d -p 8888:5000 -v /home/username/data:/data -v /home/username/digits- jobs:/workspace/jobs nvcr.io/nvidia/digits:<xx.xx>-<framework>
注意注意:为了在 ranks 之间共享数据,NVIDIA® Collective Communications Library ™ (NCCL) 可能需要用于 IPC 的共享系统内存和锁页(分页锁定)系统内存资源。可能需要相应地增加操作系统对这些资源的限制。有关详细信息,请参阅您的系统文档。特别是,Docker 容器默认限制共享和锁页内存资源。当在容器内使用 NCCL 时,建议您通过发出以下命令来增加这些资源
--shm-size=1g --ulimit memlock=-1
在命令行中到
docker run --gpus all
- 要将服务器作为守护程序运行并将容器中的端口 5000 暴露到主机上的端口 8888
从开发者专区运行 DIGITS
关于此任务
有关下载、运行和使用 DIGITS 的更多信息,请参阅:NVIDIA DIGITS:交互式深度学习 GPU 训练系统。