Sagemaker 培训作业未将培训模型上传/保存到 S3 输出路径

好的,我已经在 Sagemaker 中处理这个问题将近一个星期了,我已经准备好解决问题了。在 BYO 算法 Docker 部署类型场景中,我有一个自定义训练脚本与一个数据处理脚本配对。这是一个用 Python 3.x 构建的 Pytorch 模型,BYO Docker 文件最初是为 Python 2 构建的,但我看不出我遇到的问题有什么问题......这是在成功培训之后运行 Sagemaker 不会将模型保存到目标 S3 存储桶。


我进行了广泛的搜索,似乎无法在任何地方找到适用的答案。这一切都在 Notebook 实例中完成。注意:我将其用作承包商,并且没有对 AWS 其余部分的完全权限,包括下载 Docker 映像。


文件:


FROM ubuntu:18.04


MAINTAINER Amazon AI <sage-learner@amazon.com>


RUN apt-get -y update && apt-get install -y --no-install-recommends \

         wget \

         python-pip \

         python3-pip3

         nginx \

         ca-certificates \

    && rm -rf /var/lib/apt/lists/*


RUN wget https://bootstrap.pypa.io/get-pip.py && python3 get-pip.py && \

    pip3 install future numpy torch scipy scikit-learn pandas flask gevent gunicorn && \

        rm -rf /root/.cache


ENV PYTHONUNBUFFERED=TRUE

ENV PYTHONDONTWRITEBYTECODE=TRUE

ENV PATH="/opt/program:${PATH}"


COPY decision_trees /opt/program

WORKDIR /opt/program

Docker 镜像构建:


%%sh


algorithm_name="name-this-algo"


cd container


chmod +x decision_trees/train

chmod +x decision_trees/serve


account=$(aws sts get-caller-identity --query Account --output text)


region=$(aws configure get region)

region=${region:-us-east-2}


fullname="${account}.dkr.ecr.${region}.amazonaws.com/${algorithm_name}:latest"


aws ecr describe-repositories --repository-names "${algorithm_name}" > /dev/null 2>&1


if [ $? -ne 0 ]

then

    aws ecr create-repository --repository-name "${algorithm_name}" > /dev/null

fi


# Get the login command from ECR and execute it directly

$(aws ecr get-login --region ${region} --no-include-email)


# Build the docker image locally with the image name and then push it to ECR

# with the full name.


docker build  -t ${algorithm_name} .

docker tag ${algorithm_name} ${fullname}


docker push ${fullname}




千巷猫影
浏览 85回答 0
0回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python