Docker镜像和任务示例

OpenPAI使用Docker提供一致且独立的环境。基于Docker,OpenPAI可以在同一服务器上处理多个任务请求。任务环境很大程度上依赖您选择的Docker镜像。

预构建的Docker镜像介绍

快速开始 教程使用一个预构建的TensorFlow镜像,openpai/standard:python_3.6-tensorflow_1.15.0-gpu。除此之外,OpenPAI还为不同的深度学习框架提供了许多现成的镜像。以下是镜像列表:

镜像 标签 CUDA 版本 所需驱动版本
openpai/standard python_3.6-pytorch_1.1.0-gpu 10.0 >= 410.48
openpai/standard python_3.6-pytorch_1.2.0-gpu 10.0 >= 410.48
openpai/standard python_3.6-pytorch_1.3.1-gpu 10.1 >= 418.39
openpai/standard python_3.6-pytorch_1.4.0-gpu 10.1 >= 418.39
openpai/standard python_3.6-tensorflow_1.14.0-gpu 10.0 >= 410.48
openpai/standard python_3.6-tensorflow_1.15.0-gpu 10.0 >= 410.48
openpai/standard python_3.6-tensorflow_2.0.0-gpu 10.0 >= 410.48
openpai/standard python_3.6-tensorflow_2.1.0-gpu 10.1 >= 418.39
openpai/standard python_3.6-mxnet_1.5.1-gpu 10.1 >= 418.39
openpai/standard python_3.6-cntk_2.7-gpu 10.1 >= 418.39
openpai/standard python_3.6-pytorch_1.1.0-cpu - -
openpai/standard python_3.6-pytorch_1.2.0-cpu - -
openpai/standard python_3.6-pytorch_1.3.1-cpu - -
openpai/standard python_3.6-pytorch_1.4.0-cpu - -
openpai/standard python_3.6-tensorflow_1.14.0-cpu - -
openpai/standard python_3.6-tensorflow_1.15.0-cpu - -
openpai/standard python_3.6-tensorflow_2.0.0-cpu - -
openpai/standard python_3.6-tensorflow_2.1.0-cpu - -
openpai/standard python_3.6-mxnet_1.5.1-cpu - -
openpai/standard python_3.6-cntk_2.7-cpu - -

这些镜像的标签指示了内置深度学习框架的版本以及是否支持GPU。由于CUDA的需求,一些支持GPU的docker需要高版本的NVIDIA驱动。如果不确定集群的NVIDIA驱动版本,请询问管理员。

建立在预构建Docker镜像基础上的任务示例

pytorch_cifar10tensorflow_cifar10 提供了基于这些预构建镜像的CIFAR-10训练示例。具体来说,以下是基于PyTorch镜像的示例:

还有TensorFlow的CPU/GPU/多GPU/Horovod任务示例。详细信息请查看tensorflow_cifar10

使用您自己的镜像

如果不使用预构建镜像,想要构建自己的自定义镜像,建议基于Ubuntu系统构建,因为Ubuntu中包含bash、apt和其他必须的依赖项。然后,您可以在docker镜像中添加任务需要的其他依赖包,例如python、pip和TensorFlow等,添加时请注意潜在的冲突。

如何使用私有Registry的镜像

默认情况下,OpenPAI将从官方 Docker Hub拉取镜像,这是一个公有Docker Registry,其中的镜像都是可以直接使用的。

如果要使用私有Registry,请拨动 Custom 按钮,然后点击 Auth 按钮,填入所需信息。如果您的授权信息无效,OpenPAI将会在提交任务后通知您授权失败。