在本地获取 sagemaker 容器
Getting sagemaker container locally
当我尝试在脚本模式下为 tensorflow 在本地 运行 sagemaker 时。好像我无法拉动 docker 容器。我有 运行 来自 sagemaker notebook 实例的以下代码,一切正常 运行。但是当 运行 在我的机器上安装它时它不起作用。
如何下载容器,以便在本地进行调试?
import os
import sagemaker
from sagemaker.tensorflow import TensorFlow
hyperparameters = {}
role = 'arn:aws:iam::xxxxxxxx:role/yyyyyyy'
estimator = TensorFlow(
entry_point='train.py',
source_dir='.',
train_instance_type='local',
train_instance_count=1,
hyperparameters=hyperparameters,
role=role,
py_version='py3',
framework_version='1.12.0',
script_mode=True)
estimator.fit()
我得到这个输出
INFO:sagemaker:Creating training-job with name: sagemaker-tensorflow-
scriptmode-2019-01-28-18-51-57-787
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Error response from daemon: pull access denied for 520713654638.dkr.ecr.eu-west-2.amazonaws.com/sagemaker-tensorflow-scriptmode, repository does not exist or may require 'docker login'
subprocess.CalledProcessError: Command 'docker pull 520713654638.dkr.ecr.eu-west-2.amazonaws.com/sagemaker-tensorflow-scriptmode:1.12.0-cpu-py3' returned non-zero exit status 1.
警告看起来像您在使用 docker 登录工具 here 时得到的输出。如果我按照这些步骤注册到带有 tensorflow 容器的目录,它会显示登录成功
Invoke-Expression -Command (aws ecr get-login --no-include-email --registry-ids 520713654638 --region eu-west-2)
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Login Succeeded
可是后来还是拉不动
docker pull 520713654638.dkr.ecr.eu-west-2.amazonaws.com/sagemaker-tensorflow-scriptmode:1.11.0-cpu-py3
Error response from daemon: pull access denied for 520713654638.dkr.ecr.eu-west-2.amazonaws.com/sagemaker-tensorflow-scriptmode, repository does not exist or may require 'docker login'
相同的序列在本地对我有效:'aws ecr get-login'、'docker login'、'docker pull'。
您的本地 IAM 用户是否有足够的凭据从 ECR 中提取? 'AmazonEC2ContainerRegistryReadOnly' 政策应该足够了:https://docs.aws.amazon.com/AmazonECR/latest/userguide/ecr_managed_policies.html
或者,您可以从 Github 获取容器并构建它:https://github.com/aws/sagemaker-tensorflow-container
当我尝试在脚本模式下为 tensorflow 在本地 运行 sagemaker 时。好像我无法拉动 docker 容器。我有 运行 来自 sagemaker notebook 实例的以下代码,一切正常 运行。但是当 运行 在我的机器上安装它时它不起作用。
如何下载容器,以便在本地进行调试?
import os
import sagemaker
from sagemaker.tensorflow import TensorFlow
hyperparameters = {}
role = 'arn:aws:iam::xxxxxxxx:role/yyyyyyy'
estimator = TensorFlow(
entry_point='train.py',
source_dir='.',
train_instance_type='local',
train_instance_count=1,
hyperparameters=hyperparameters,
role=role,
py_version='py3',
framework_version='1.12.0',
script_mode=True)
estimator.fit()
我得到这个输出
INFO:sagemaker:Creating training-job with name: sagemaker-tensorflow-
scriptmode-2019-01-28-18-51-57-787
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Error response from daemon: pull access denied for 520713654638.dkr.ecr.eu-west-2.amazonaws.com/sagemaker-tensorflow-scriptmode, repository does not exist or may require 'docker login'
subprocess.CalledProcessError: Command 'docker pull 520713654638.dkr.ecr.eu-west-2.amazonaws.com/sagemaker-tensorflow-scriptmode:1.12.0-cpu-py3' returned non-zero exit status 1.
警告看起来像您在使用 docker 登录工具 here 时得到的输出。如果我按照这些步骤注册到带有 tensorflow 容器的目录,它会显示登录成功
Invoke-Expression -Command (aws ecr get-login --no-include-email --registry-ids 520713654638 --region eu-west-2)
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Login Succeeded
可是后来还是拉不动
docker pull 520713654638.dkr.ecr.eu-west-2.amazonaws.com/sagemaker-tensorflow-scriptmode:1.11.0-cpu-py3
Error response from daemon: pull access denied for 520713654638.dkr.ecr.eu-west-2.amazonaws.com/sagemaker-tensorflow-scriptmode, repository does not exist or may require 'docker login'
相同的序列在本地对我有效:'aws ecr get-login'、'docker login'、'docker pull'。
您的本地 IAM 用户是否有足够的凭据从 ECR 中提取? 'AmazonEC2ContainerRegistryReadOnly' 政策应该足够了:https://docs.aws.amazon.com/AmazonECR/latest/userguide/ecr_managed_policies.html
或者,您可以从 Github 获取容器并构建它:https://github.com/aws/sagemaker-tensorflow-container