构建 AWS Deep Learning Containers 自定义映像 - AWS 深度学习容器
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

构建 AWS Deep Learning Containers 自定义映像

如何构建自定义映像

我们可以轻松利用 Deep Learning Containers 自定义训练和推理,以使用 Docker 文件添加自定义框架、库和程序包。

利用 TensorFlow 进行训练

在以下示例 Dockerfile 中,生成的 Docker 映像将针对 GPU 优化 TensorFlow v1.15.2 并构建它,以支持适用于多节点分布式训练的 Horovod 和 Python 3。它还将具有 AWS 示例 GitHub 存储库,该库包含许多深度学习模型示例。

#Take base container FROM 763104351884.dkr.ecr.us-east-1.amazonaws.com/tensorflow-training:1.15.2-gpu-py36-cu100-ubuntu18.04 # Add custom stack of code RUN git clone https://github.com/aws-samples/deep-learning-models

利用 MXNet 进行训练

在以下示例 Dockerfile 中,生成的 Docker 映像将构建针对 GPU 推理而优化的 MXNet v1.6.0,以支持 Horovod 和 Python 3。它还将具有 MXNet GitHub 存储库,该存储库包含许多深度学习模型示例。

# Take the base MXNet Container FROM 763104351884.dkr.ecr.us-east-1.amazonaws.com/mxnet-training:1.6.0-gpu-py36-cu101-ubuntu16.04 # Add Custom stack of code RUN git clone -b 1.6.0 https://github.com/apache/incubator-mxnet.git ENTRYPOINT ["python", "/incubator-mxnet/example/image-classification/train_mnist.py"]

使用 Docker 映像的自定义名称和自定义标签构建映像,同时指向您的个人 Docker 注册表(通常为您的用户名)。

docker build -f Dockerfile -t <registry>/<any name>:<any tag>

推送至您的个人 Docker 注册表:

docker push <registry>/<any name>:<any tag>

您可以使用以下命令运行容器:

docker run -it < name or tag>
重要

您可能需要登录才能访问 Deep Learning Containers 映像存储库。在下面的命令中指定您的区域和注册表 ID:

$(aws ecr get-login --no-include-email --region us-east-1 --registry-ids YOUR_AWS_ACCOUNT_ID)