首页 > 解决方案 > 使用 AWS Step Functions 将输入数据存储在容器的 /opt/ml/ 上

问题描述

我正在按照教程在存储在 ECR 上的 Docker 映像上设置 Prophet 模型的重新训练。

当我到达 Training_Step 时,此设置无法将输入数据放入 docker 容器上的 /opt/ml/input/data 文件夹。我可以从 S3 文件夹中获取它,但由于训练是在容器上进行的,并且它需要输入数据存在于 /opt/ml... 位置,因此 AWS Step Function 设置在 Training_Step 失败。

任何有关如何将从 S3 收集的输入数据推送到 docker 容器(/opt/ml/input/data)的输入将不胜感激。谢谢!

标签: python-3.xdockeramazon-sagemakeraws-step-functions

解决方案


如果您使用 sage-maker 笔记本来运行 docker 映像的估算器,则可以使用输入命令将您的 opt/ml/input/data 文件夹定向到相应的 s3 链接。以下是如何配置该部分:

像这样更新您的 S3 链接:

S3_TRAIN_DATA = 's3_link_for_your_training_data'

S3_VAL_DATA = 's3_link_for_your_validation_data

根据 docker 图像的图像 uri 创建您的估算器,然后使用您的输入,如下所示:

输入={ '火车':S3_TRAIN_DATA, 'val':S3_VAL_DATA }

请记住,在这种情况下,您的模型数据路径是

a.)opt/ml/输入/数据/训练

b.)opt/ml/输入/数据/val


推荐阅读