训练 Sagemaker 模型中的机器学习问题

时间:2021-01-13 10:03:57

标签: node.js docker amazon-sagemaker amazon-ecr amazon-machine-learning

我正在使用 MERN(MongoDb,Experss,ReactJS,NodeJS) 堆栈进行机器学习,其中 Aws 密钥(访问密钥和秘密密钥)位于 MongoDB 配置中,并用于在 Nodejs 和 Express 中编写的训练模型代码。

问题: 在 aws 帐户中上传 .csv 或 .xls 文件培训未完成后,将显示培训失败并显示以下错误:

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

对于机器学习,我将完成以下设置: S3 - 创建访问密钥和秘密密钥并创建存储桶 - 密钥放置在 MongoDB 配置中,Bucket 和区域也放置在那里。

Sagemaker -> Notebook Instacne - 创建笔记本实例,并且服务处于待处理状态。 - 此设置在 aws 帐户中完成。

贤者 -> 我是角色 -创建角色我是 - 此设置在 aws 帐户中完成。

Sagemaker -> 模型 - 创建模型和模型 ARN 和角色 ARN。 - 此设置在 aws 帐户中完成。

ECR(弹性容器注册表) - 使用名称 linear-learner 和 xgboost 创建存储库 - 此设置在 aws 帐户中完成。

Dockerfile - 创建 Dockerfile - 保存在项目文件夹中。

Docker 中心 - 创建 Docker Hub 帐户

SNS 凭据 -SNS 密钥和主题 ARN - 在 MongoDB 配置中设置。

遵循我授予的权限: 附加目录 AmazonSagemakerFullAccess AmazonS3FullAccess 亚马逊SNSFullAccess AmazonEC2ContainerRegistryReadOnly

从组附加 AmazonEC2FullAccess AmazonDymonDBFullAccess 亚马逊机器学习FullAccess 管理员权限 AWSElasticBeanStalkFullAccess AmazonSagemakerFullAccess

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" ]
Code Image 

Linear : <account_id>.dkr.ecr.us-east-2.amazonaws.com/linear-learner:latest

XgBoost : <account_id>.dkr.ecr.us-east-2.amazonaws.com/xgboost:latest
I run the following commands to build and tag images from dockerfile:
-> $ docker build -t <codeimage>:<tag>
Successfully built <id>
Successfully tagged <codeimage>:<tag>

-> $ docker build -t <account.id>.dkr.ecr.<region>.amazonaws.com/<codeimage>
Successfully build <id>
Successfully tagged <url>

-> $ docker images
-Check all images with tags

-> $ docker tag [image name]:[tag] [repository URI]

> $ sudo aws ecr get-login-password | sudo docker login –username AWS –password -stdin [account.id].dkr.ecr.[region].amazonaws.com
Login Succedded

> $ sudo docker push [account.id].dkr.ecr.[region].amazonaws.com/[repository name]

<id> Pushed

<id> Pushed

Docker 镜像 enter image description here

Docker 镜像也通过创建与我们在 ECR 中指定的名称相同的存储库推送到 Docker Hub。 enter image description here

在我上传 .csv 或 .xls 文件后,经过所有这些设置和事情后,我在训练模型期间遇到了同样的错误,这是训练失败,因为我的过程没有以 100% 完成。

强> enter image description here

设置完所有这些东西后,权限过程还没有完成,出现这个错误有人可以帮我处理这些吗?

0 个答案:

没有答案