训练失败 - AWS 机器学习

时间:2021-01-08 11:24:36

标签: node.js reactjs mongodb amazon-s3 amazon-machine-learning

我正在使用 MERN(Mongodb,Express,React,NodeJS)Stack Code 进行 Aws Machine learning。训练失败错误如下:

算法错误:CannotStartContainerError。请确保容器可以使用“docker run train”运行。有关详细信息,请参阅 SageMaker 文档。可能是 Dockerfile 的入口点未正确定义或缺少权限。

我还在 AWS 账户中设置了以下设置。 enter image description here

还在 AWS 账户中授予以下权限:

enter image description here

在所有设置和权限之后,我还应用了 mongodb 配置设置中的所有键我无法理解我需要处理机器学习的内容。实际上训练没有完成,无法在 s3 存储桶中获取模型工件。它看起来像: enter image description here sagemaker 进程未启动。有人可以帮我解决这个问题吗?

我的 DockerFile,它存储在名为 Dockerfile 的项目文件夹中。

FROM ubuntu
RUN apt-get update
RUN apt-get install curl -y
RUN curl -sL https://deb.nodesource.com/setup_10.x -o nodesource_setup.sh
RUN bash nodesource_setup.sh
RUN apt install nodejs -y
WORKDIR /usr/app
COPY . /usr/app/
RUN npm install
EXPOSE 3000
ENTRYPOINT [ "python3.7", "/opt/ml/code/train.py" ]

我还在 Docker Hub 中为 Sagemaker linear learner 和 xgboost 设置了代码映像,还在 aws 中的 ECR 中创建了存储库。 enter image description here

我还在aws的opt/ml/code/train.py目录中复制train.py并得到输出输出:/home/ec2-user/SageMaker/docker_test_folder< /strong> 但仍然出现此错误。

1 个答案:

答案 0 :(得分:0)

您得到的错误意味着 sagemaker 无法启动您的 docker 镜像,这是因为您没有正确定义入口点。 你可以看看我的repo。基本上,在您的 dockerfile 中,您必须安装一些软件包,创建一个文件夹,例如 /opt/ml/code,并将您的训练脚本放入该文件夹中,该文件夹将被称为 traintrain 文件应该尊重您可以阅读 here 的一些指示。