Scikit learn AWS Sagemaker scikit_带来自己的例子

Scikit learn AWS Sagemaker scikit_带来自己的例子,scikit-learn,amazon-sagemaker,svd,Scikit Learn,Amazon Sagemaker,Svd,我正在遵循产品推荐标准 我想使用Sagemaker上库中的SVD from surprise import SVD from surprise import Dataset from surprise.model_selection import cross_validate 我在Dockerfile中添加了scikit惊喜包,但我发现以下错误: Dockerfile: #构建一个可以在SageMaker中进行训练和推理的图像 #这是一个使用nginx、gunicorn和flask堆栈的Pyt

我正在遵循产品推荐标准

我想使用Sagemaker上库中的SVD

from surprise import SVD
from surprise import Dataset
from surprise.model_selection import cross_validate
我在Dockerfile中添加了scikit惊喜包,但我发现以下错误:

Dockerfile:
#构建一个可以在SageMaker中进行训练和推理的图像
#这是一个使用nginx、gunicorn和flask堆栈的Python 2映像
#以稳定的方式提供推论。
来自ubuntu:16.04
维护者亚马逊人工智能
运行apt-get-y更新和apt-get-install-y--不建议安装\
wget\
蟒蛇\
nginx\
ca证书\
&&rm-rf/var/lib/apt/lists/*
#这里我们得到了所有python包。
#scipy和numpy之间存在大量重叠,我们通过
#将它们连接在一起。同样,pip会让使用
#大量的空间。这些优化在系统中节省了相当多的空间
#图像,从而缩短启动时间。
运行wgethttps://bootstrap.pypa.io/get-pip.py &&python get-pip.py&&\
pip安装numpy==1.16.2 scipy==1.2.1 scikit学习==0.20.2 gevent gunicorn&\
(cd/usr/local/lib/python2.7/dist-packages/scipy/.libs;rm*;ln.././numpy/.libs/*)&&\
rm-rf/root/.cache
运行pip安装sciket
#设置一些环境变量。PYTHONUNBUFFERED使Python无法缓冲我们的标准
#输出流,这意味着可以将日志快速交付给用户。PYTHONDONTWRITEBYTECODE
#防止Python编写在本例中不必要的.pyc文件。我们还更新了
#路径,以便在调用容器时找到train和serve程序。
ENV PYTHONUNBUFFERED=TRUE
ENV PYTHONDONTWRITEBYTECODE=TRUE
ENV PATH=“/opt/program:${PATH}”
#在图像中设置程序
复制产品\u推荐人/opt/计划
WORKDIR/opt/program
Docker构建和部署:
全名:XXXXXXXXX.dkr.ecr.ap-southerast-1.amazonaws.com/产品推荐人:最新
警告通过CLI使用--password是不安全的。使用--password stdin。
登录成功
正在将生成上下文发送到Docker守护程序67.58kB
步骤1/10:来自ubuntu:16.04
--->13c9f1285025
步骤2/10:维护者亚马逊AI
--->使用缓存
--->44baf3286201
步骤3/10:运行apt-get-y更新和apt-get-install-y——不安装建议wget-python nginx ca证书和rm-rf/var/lib/apt/list/*
--->使用缓存
--->8983fa906515
步骤4/10:运行wgethttps://bootstrap.pypa.io/get-pip.py &&python get-pip.py&&pip install numpy==1.16.2 scipy==1.2.1 scikit learn==0.20.2 gevent gunicorn&&(cd/usr/local/lib/python2.7/dist-packages/scipy/.libs;rm*;ln..//numpy/.libs/.libs/.&rm-rf/root/.cache)
--->使用缓存
--->9dbfedf02b57
步骤5/10:运行pip安装scikit
--->在82295CB0AFF中运行
弃用:Python 2.7将于2020年1月1日结束其使用寿命。请升级您的Python,因为Python 2.7将在该日期后不再维护。pip的未来版本将放弃对Python2.7的支持。
收集scikit惊喜
正在下载https://files.pythonhosted.org/packages/f5/da/b5700d96495fb4f092be497f02492768a3d96a3f4fa2ae7dea46d4081cfa/scikit-surprise-1.1.0.tar.gz (6.4MB)
正在收集作业库>=0.11(来自scikit惊喜)
正在下载https://files.pythonhosted.org/packages/28/5c/cf6a2b65a321c4a209efcdf64c2689efae2cb62661f8f6f4bb28547cf1bf/joblib-0.14.1-py2.py3-none-any.whl (294kB)
已满足要求:numpy>=1.11.2 in/usr/local/lib/python2.7/dist-packages(来自scikit惊喜)(1.16.2)
已满足要求:scipy>=1.0.0 in/usr/local/lib/python2.7/dist-packages(来自scikit惊喜)(1.2.1)
已满足要求:六个>=1.10.0 in/usr/local/lib/python2.7/dist-packages(来自scikit惊喜)(1.12.0)
为收集的包构建轮子:scikit惊喜
为scikit惊喜构建控制盘(setup.py):已开始
为scikit惊喜构建控制盘(setup.py):已完成,状态为“error”
错误:从命令/usr/bin/python-u-c'import setuptools,tokenize完成输出__文件''''/tmp/pip-install-VsuzGr/scikit-shopper/setup.py''';f=getattr(标记化,“'open'”,open)(\uuuuu文件);code=f.read().replace(“\r\n”“”、“\n”“”);f、 close();exec(compile(代码,“'exec'”)'bdist_wheel-d/tmp/pip-wheel-Bb1_iT--python标记cp27:
错误:正在运行bdist\u控制盘
运行构建
运行build\u py
创建构建
创建build/lib.linux-x86_64-2.7
正在创建build/lib.linux-x86_64-2.7/suggest
复制惊奇/trainset.py->build/lib.linux-x86_64-2.7/惊奇
正在复制惊喜/dataset.py->build/lib.linux-x86_64-2.7/superson
正在复制惊喜/\uuuu init\uuuuuu.py->build/lib.linux-x86\u 64-2.7/sapple
正在复制惊喜/\uuuuuu main\uuuuuuuuuu.py->build/lib.linux-x86\u 64-2.7/sapple
正在复制惊喜/reader.py->build/lib.linux-x86_64-2.7/shopping
正在复制惊喜/builtin_datasets.py->build/lib.linux-x86_64-2.7/shoulding
正在复制惊喜/dump.py->build/lib.linux-x86_64-2.7/sapple
正在复制惊喜/utils.py->build/lib.linux-x86_64-2.7/supplication
复制惊喜/accurity.py->build/lib.linux-x86_64-2.7/sapple
正在创建build/lib.linux-x86\u 64-2.7/shopping/model\u selection
复制惊奇/model\u selection/search.py->build/lib.linux-x86\u 64-2.7/惊奇/model\u selection
正在复制惊喜/model_selection/\u_init__.py->build/lib.linux-x86_64-2.7/惊喜/model_selection
复制惊奇/model\u selection/split.py->build/lib.linux-x86\u 64-2.7/惊奇/model\u selection
复制惊奇/model\u selection/validation.py->build/lib.linux-x86\u 64-2.7/惊奇/model\u selection
创建build/lib.linux-x86\u 64-2.7/shopping/prediction\u算法
复制惊喜/预测算法/algo\u base.py->build/lib.linux-x86\u 64-2.7/惊喜/预测算法
复制惊奇/预测算法/predictions.py->build/lib.linux-x86\u 64-2.7/惊奇/预测算法
警察
# Build an image that can do training and inference in SageMaker
# This is a Python 2 image that uses the nginx, gunicorn, flask stack
# for serving inferences in a stable way.

FROM ubuntu:16.04

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


RUN apt-get -y update && apt-get install -y --no-install-recommends \
         wget \
         python \
         nginx \
         ca-certificates \
    && rm -rf /var/lib/apt/lists/*

# Here we get all python packages.
# There's substantial overlap between scipy and numpy that we eliminate by
# linking them together. Likewise, pip leaves the install caches populated which uses
# a significant amount of space. These optimizations save a fair amount of space in the
# image, which reduces start up time.
RUN wget https://bootstrap.pypa.io/get-pip.py && python get-pip.py && \
    pip install numpy==1.16.2 scipy==1.2.1 scikit-learn==0.20.2 pandas flask gevent gunicorn && \
        (cd /usr/local/lib/python2.7/dist-packages/scipy/.libs; rm *; ln ../../numpy/.libs/* .) && \
        rm -rf /root/.cache

RUN pip install scikit-surprise

# Set some environment variables. PYTHONUNBUFFERED keeps Python from buffering our standard
# output stream, which means that logs can be delivered to the user quickly. PYTHONDONTWRITEBYTECODE
# keeps Python from writing the .pyc files which are unnecessary in this case. We also update
# PATH so that the train and serve programs are found when the container is invoked.

ENV PYTHONUNBUFFERED=TRUE
ENV PYTHONDONTWRITEBYTECODE=TRUE
ENV PATH="/opt/program:${PATH}"

# Set up the program in the image
COPY products_recommender /opt/program
WORKDIR /opt/program
fullname:XXXXXXXXX.dkr.ecr.ap-southeast-1.amazonaws.com/products-recommender:latest
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Login Succeeded
Sending build context to Docker daemon  67.58kB
Step 1/10 : FROM ubuntu:16.04
 ---> 13c9f1285025
Step 2/10 : MAINTAINER Amazon AI <sage-learner@amazon.com>
 ---> Using cache
 ---> 44baf3286201
Step 3/10 : RUN apt-get -y update && apt-get install -y --no-install-recommends          wget          python          nginx          ca-certificates     && rm -rf /var/lib/apt/lists/*
 ---> Using cache
 ---> 8983fa906515
Step 4/10 : RUN wget https://bootstrap.pypa.io/get-pip.py && python get-pip.py &&     pip install numpy==1.16.2 scipy==1.2.1 scikit-learn==0.20.2 pandas flask gevent gunicorn &&         (cd /usr/local/lib/python2.7/dist-packages/scipy/.libs; rm *; ln ../../numpy/.libs/* .) &&         rm -rf /root/.cache
 ---> Using cache
 ---> 9dbfedf02b57
Step 5/10 : RUN pip install scikit-surprise
 ---> Running in 82295cb0affe
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7.
Collecting scikit-surprise
  Downloading https://files.pythonhosted.org/packages/f5/da/b5700d96495fb4f092be497f02492768a3d96a3f4fa2ae7dea46d4081cfa/scikit-surprise-1.1.0.tar.gz (6.4MB)
Collecting joblib>=0.11 (from scikit-surprise)
  Downloading https://files.pythonhosted.org/packages/28/5c/cf6a2b65a321c4a209efcdf64c2689efae2cb62661f8f6f4bb28547cf1bf/joblib-0.14.1-py2.py3-none-any.whl (294kB)
Requirement already satisfied: numpy>=1.11.2 in /usr/local/lib/python2.7/dist-packages (from scikit-surprise) (1.16.2)
Requirement already satisfied: scipy>=1.0.0 in /usr/local/lib/python2.7/dist-packages (from scikit-surprise) (1.2.1)
Requirement already satisfied: six>=1.10.0 in /usr/local/lib/python2.7/dist-packages (from scikit-surprise) (1.12.0)
Building wheels for collected packages: scikit-surprise
  Building wheel for scikit-surprise (setup.py): started
  Building wheel for scikit-surprise (setup.py): finished with status 'error'
  ERROR: Complete output from command /usr/bin/python -u -c 'import setuptools, tokenize;__file__='"'"'/tmp/pip-install-VsuzGr/scikit-surprise/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-Bb1_iT --python-tag cp27:
  ERROR: running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-2.7
  creating build/lib.linux-x86_64-2.7/surprise
  copying surprise/trainset.py -> build/lib.linux-x86_64-2.7/surprise
  copying surprise/dataset.py -> build/lib.linux-x86_64-2.7/surprise
  copying surprise/__init__.py -> build/lib.linux-x86_64-2.7/surprise
  copying surprise/__main__.py -> build/lib.linux-x86_64-2.7/surprise
  copying surprise/reader.py -> build/lib.linux-x86_64-2.7/surprise
  copying surprise/builtin_datasets.py -> build/lib.linux-x86_64-2.7/surprise
  copying surprise/dump.py -> build/lib.linux-x86_64-2.7/surprise
  copying surprise/utils.py -> build/lib.linux-x86_64-2.7/surprise
  copying surprise/accuracy.py -> build/lib.linux-x86_64-2.7/surprise
  creating build/lib.linux-x86_64-2.7/surprise/model_selection
  copying surprise/model_selection/search.py -> build/lib.linux-x86_64-2.7/surprise/model_selection
  copying surprise/model_selection/__init__.py -> build/lib.linux-x86_64-2.7/surprise/model_selection
  copying surprise/model_selection/split.py -> build/lib.linux-x86_64-2.7/surprise/model_selection
  copying surprise/model_selection/validation.py -> build/lib.linux-x86_64-2.7/surprise/model_selection
  creating build/lib.linux-x86_64-2.7/surprise/prediction_algorithms
  copying surprise/prediction_algorithms/algo_base.py -> build/lib.linux-x86_64-2.7/surprise/prediction_algorithms
  copying surprise/prediction_algorithms/predictions.py -> build/lib.linux-x86_64-2.7/surprise/prediction_algorithms
  copying surprise/prediction_algorithms/baseline_only.py -> build/lib.linux-x86_64-2.7/surprise/prediction_algorithms
  copying surprise/prediction_algorithms/__init__.py -> build/lib.linux-x86_64-2.7/surprise/prediction_algorithms
  copying surprise/prediction_algorithms/random_pred.py -> build/lib.linux-x86_64-2.7/surprise/prediction_algorithms
  copying surprise/prediction_algorithms/knns.py -> build/lib.linux-x86_64-2.7/surprise/prediction_algorithms
  running egg_info
  writing requirements to scikit_surprise.egg-info/requires.txt
  writing scikit_surprise.egg-info/PKG-INFO
  writing top-level names to scikit_surprise.egg-info/top_level.txt
  writing dependency_links to scikit_surprise.egg-info/dependency_links.txt
  writing entry points to scikit_surprise.egg-info/entry_points.txt
  reading manifest file 'scikit_surprise.egg-info/SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  writing manifest file 'scikit_surprise.egg-info/SOURCES.txt'
  copying surprise/similarities.c -> build/lib.linux-x86_64-2.7/surprise
  copying surprise/similarities.pyx -> build/lib.linux-x86_64-2.7/surprise
  copying surprise/prediction_algorithms/co_clustering.c -> build/lib.linux-x86_64-2.7/surprise/prediction_algorithms
  copying surprise/prediction_algorithms/co_clustering.pyx -> build/lib.linux-x86_64-2.7/surprise/prediction_algorithms
  copying surprise/prediction_algorithms/matrix_factorization.c -> build/lib.linux-x86_64-2.7/surprise/prediction_algorithms
  copying surprise/prediction_algorithms/matrix_factorization.pyx -> build/lib.linux-x86_64-2.7/surprise/prediction_algorithms
  copying surprise/prediction_algorithms/optimize_baselines.c -> build/lib.linux-x86_64-2.7/surprise/prediction_algorithms
  copying surprise/prediction_algorithms/optimize_baselines.pyx -> build/lib.linux-x86_64-2.7/surprise/prediction_algorithms
  copying surprise/prediction_algorithms/slope_one.c -> build/lib.linux-x86_64-2.7/surprise/prediction_algorithms
  copying surprise/prediction_algorithms/slope_one.pyx -> build/lib.linux-x86_64-2.7/surprise/prediction_algorithms
  running build_ext
  building 'surprise.similarities' extension
  creating build/temp.linux-x86_64-2.7
  creating build/temp.linux-x86_64-2.7/surprise
  x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/local/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 -c surprise/similarities.c -o build/temp.linux-x86_64-2.7/surprise/similarities.o
  unable to execute 'x86_64-linux-gnu-gcc': No such file or directory
  error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
  ----------------------------------------
  ERROR: Failed building wheel for scikit-surprise
  Running setup.py clean for scikit-surprise
Failed to build scikit-surprise
Installing collected packages: joblib, scikit-surprise
  Running setup.py install for scikit-surprise: started
    Running setup.py install for scikit-surprise: finished with status 'error'
    ERROR: Complete output from command /usr/bin/python -u -c 'import setuptools, tokenize;__file__='"'"'/tmp/pip-install-VsuzGr/scikit-surprise/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-rrsWf0/install-record.txt --single-version-externally-managed --compile:
    ERROR: running install
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-2.7
    creating build/lib.linux-x86_64-2.7/surprise
    copying surprise/trainset.py -> build/lib.linux-x86_64-2.7/surprise
    copying surprise/dataset.py -> build/lib.linux-x86_64-2.7/surprise
    copying surprise/__init__.py -> build/lib.linux-x86_64-2.7/surprise
    copying surprise/__main__.py -> build/lib.linux-x86_64-2.7/surprise
    copying surprise/reader.py -> build/lib.linux-x86_64-2.7/surprise
    copying surprise/builtin_datasets.py -> build/lib.linux-x86_64-2.7/surprise
    copying surprise/dump.py -> build/lib.linux-x86_64-2.7/surprise
    copying surprise/utils.py -> build/lib.linux-x86_64-2.7/surprise
    copying surprise/accuracy.py -> build/lib.linux-x86_64-2.7/surprise
    creating build/lib.linux-x86_64-2.7/surprise/model_selection
    copying surprise/model_selection/search.py -> build/lib.linux-x86_64-2.7/surprise/model_selection
    copying surprise/model_selection/__init__.py -> build/lib.linux-x86_64-2.7/surprise/model_selection
    copying surprise/model_selection/split.py -> build/lib.linux-x86_64-2.7/surprise/model_selection
    copying surprise/model_selection/validation.py -> build/lib.linux-x86_64-2.7/surprise/model_selection
    creating build/lib.linux-x86_64-2.7/surprise/prediction_algorithms
    copying surprise/prediction_algorithms/algo_base.py -> build/lib.linux-x86_64-2.7/surprise/prediction_algorithms
    copying surprise/prediction_algorithms/predictions.py -> build/lib.linux-x86_64-2.7/surprise/prediction_algorithms
    copying surprise/prediction_algorithms/baseline_only.py -> build/lib.linux-x86_64-2.7/surprise/prediction_algorithms
    copying surprise/prediction_algorithms/__init__.py -> build/lib.linux-x86_64-2.7/surprise/prediction_algorithms
    copying surprise/prediction_algorithms/random_pred.py -> build/lib.linux-x86_64-2.7/surprise/prediction_algorithms
    copying surprise/prediction_algorithms/knns.py -> build/lib.linux-x86_64-2.7/surprise/prediction_algorithms
    running egg_info
    writing requirements to scikit_surprise.egg-info/requires.txt
    writing scikit_surprise.egg-info/PKG-INFO
    writing top-level names to scikit_surprise.egg-info/top_level.txt
    writing dependency_links to scikit_surprise.egg-info/dependency_links.txt
    writing entry points to scikit_surprise.egg-info/entry_points.txt
    reading manifest file 'scikit_surprise.egg-info/SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    writing manifest file 'scikit_surprise.egg-info/SOURCES.txt'
    copying surprise/similarities.c -> build/lib.linux-x86_64-2.7/surprise
    copying surprise/similarities.pyx -> build/lib.linux-x86_64-2.7/surprise
    copying surprise/prediction_algorithms/co_clustering.c -> build/lib.linux-x86_64-2.7/surprise/prediction_algorithms
    copying surprise/prediction_algorithms/co_clustering.pyx -> build/lib.linux-x86_64-2.7/surprise/prediction_algorithms
    copying surprise/prediction_algorithms/matrix_factorization.c -> build/lib.linux-x86_64-2.7/surprise/prediction_algorithms
    copying surprise/prediction_algorithms/matrix_factorization.pyx -> build/lib.linux-x86_64-2.7/surprise/prediction_algorithms
    copying surprise/prediction_algorithms/optimize_baselines.c -> build/lib.linux-x86_64-2.7/surprise/prediction_algorithms
    copying surprise/prediction_algorithms/optimize_baselines.pyx -> build/lib.linux-x86_64-2.7/surprise/prediction_algorithms
    copying surprise/prediction_algorithms/slope_one.c -> build/lib.linux-x86_64-2.7/surprise/prediction_algorithms
    copying surprise/prediction_algorithms/slope_one.pyx -> build/lib.linux-x86_64-2.7/surprise/prediction_algorithms
    running build_ext
    building 'surprise.similarities' extension
    creating build/temp.linux-x86_64-2.7
    creating build/temp.linux-x86_64-2.7/surprise
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/local/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 -c surprise/similarities.c -o build/temp.linux-x86_64-2.7/surprise/similarities.o
    unable to execute 'x86_64-linux-gnu-gcc': No such file or directory
    error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
    ----------------------------------------
ERROR: Command "/usr/bin/python -u -c 'import setuptools, tokenize;__file__='"'"'/tmp/pip-install-VsuzGr/scikit-surprise/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-rrsWf0/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-install-VsuzGr/scikit-surprise/
WARNING: You are using pip version 19.1.1, however version 19.3.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
The command '/bin/sh -c pip install scikit-surprise' returned a non-zero code: 1
The push refers to repository [XXXXXXXX.dkr.ecr.ap-southeast-1.amazonaws.com/products-recommender]
89c1adca7d35: Layer already exists 
ddcb6879486f: Layer already exists 
4a02efecad74: Layer already exists 
92d3f22d44f3: Layer already exists 
10e46f329a25: Layer already exists 
24ab7de5faec: Layer already exists 
1ea5a27b0484: Layer already exists 
latest: digest: sha256:5ed35f1964d10f13bc8a05d379913c24195ea31ec848157016381fbd1bb12f28 size: 1782