Получение контейнера sagemaker локально - PullRequest
0 голосов
/ 28 января 2019

Когда я пытаюсь запустить sagemaker локально для тензорного потока в режиме сценария.Кажется, я не могу вытащить док-контейнер.Я запустил приведенный ниже код с экземпляра ноутбука Sagemaker, и все прошло нормально.Но когда он запускается на моей машине, он не работает.

Как я могу загрузить контейнер, чтобы я мог отлаживать вещи локально?

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 здесь .Если я буду следовать этим шагам, чтобы зарегистрироваться в каталоге с контейнером тензорного потока, появится сообщение об успешном входе в систему

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'

1 Ответ

0 голосов
/ 29 января 2019

та же последовательность работает для меня локально: «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

...