ошибка запуска тренировки с помощью aws Sagemaker - PullRequest
0 голосов
/ 24 апреля 2018

Я пытаюсь использовать свою собственную модель ML для обучения по болезни с SageMaker на примере github.

Код Python ниже:

# Define IAM role import boto3 
import re 
import os 
import numpy as np 
import pandas as pd 
from sagemaker import get_execution_role 
import sagemaker as sage from time 
import gmtime, strftime 
role = get_execution_role()

ess =  sage.Session()
account = sess.boto_session.client('sts').get_caller_identity()['Account']
region = sess.boto_session.region_name
image = '{}.dkr.ecr.{}.amazonaws.com/decision-trees-sample:latest'.format(account, region)


output_path="s3://output"

sess

tree = sage.estimator.Estimator(image,
                      role, 1, 'ml.c4.2xlarge',
                     output_path='s3-eu-west-1.amazonaws.com/output',
                    sagemaker_session=sess)

tree.fit("s3://output/iris.csv")

Но я получаю эту ошибку:

ИНФОРМАЦИЯ: sagemaker: Создание учебного задания с именем: решения, деревья-образец-2018-04-24-13-13-38-281

----------------------------------------------- ---------------------------- ClientError Traceback (последний вызов последний) в () 14 sagemaker_session = sess) 15 ---> 16 tree.fit ("s3: //inteldatastore-cyrine/iris.csv")

~ / anaconda3 / envs / python3 / Библиотека / python3.6 / сайт-пакеты / sagemaker / estimator.py в форме (self, входы, ожидание, логи, job_name) 161 self.output_path = 's3: // {} /'.format (self.sagemaker_session.default_bucket ()) 162 -> 163 self.latest_training_job = _TrainingJob.start_new (self, input) 164 если подождать: 165 self.latest_training_job.wait (logs = logs)

~ / anaconda3 / envs / python3 / Библиотека / python3.6 / сайт-пакеты / sagemaker / estimator.py в start_new (cls, оценщик, входы) 336 input_config = input_config, role = role, job_name = estimator._current_job_name, 337 output_config = output_config, resource_config = resource_config, -> 338 гиперпараметров = гиперпараметры, stop_condition = stop_condition) 339 340 возвращаемых cls (estimator.sagemaker_session, оценщик._current_job_name)

~ / anaconda3 / envs / python3 / Библиотека / python3.6 / сайт-пакеты / sagemaker / session.py в поезде (self, image, input_mode, input_config, роль, job_name, output_config, resource_config, гиперпараметры, stop_condition) 242 LOGGER.info ('Создание учебного задания с именем: {}'. Формат (имя_работы)) 243 LOGGER.debug ('train train: {}'. Format (json.dumps (train_request, indent = 4))) -> 244 self.sagemaker_client.create_training_job (** train_request) 245 246 def create_model (self, name, role, primary_container):

~ / anaconda3 / envs / python3 / Библиотека / python3.6 / сайт-пакеты / botocore / client.py в _api_call (self, * args, ** kwargs) 312 "% s () принимает только аргументы ключевых слов." % py_operation_name) 313 # «Я» в этой области относится к BaseClient. -> 314 вернуть self._make_api_call (имя_операции, kwargs) 315 316 _api_call. name = str (py_operation_name)

~ / anaconda3 / envs / python3 / Библиотека / python3.6 / сайт-пакеты / botocore / client.py в _make_api_call (self, имя_операции, api_params) 610 error_code = parsed_response.get ("Ошибка", {}). Get ("Код") 611 error_class = self.exceptions.from_code (error_code) -> 612 повысить error_class (parsed_response, имя_операции) 613 остальное: 614 возврат parsed_response

ClientError: Произошла ошибка (AccessDeniedException) при вызове операция CreateTrainingJob: Пользователь: arn: aws: sts :: 307504647302: предполагаемая роль / default / SageMaker не авторизован для выполнения: sagemaker: CreateTrainingJob на ресурсе: ARN: AWS: sagemaker: ес-запад-1: 307504647302: учебно-вакансии / директивные деревья-образец-2018-04-24-13-13-38-281

Можете ли вы помочь мне решить проблему?

Спасибо

Ответы [ 2 ]

0 голосов
/ 05 мая 2018

У меня возникли похожие проблемы, когда я начал использовать SageMaker, поэтому я разработал этот проект с открытым исходным кодом https://github.com/Kenza-AI/sagify (sagify), это инструмент CLI, который может помочь вам обучить и развернуть свои собственные модели машинного обучения / глубокого обучения на SageMaker очень простым способом. Мне удалось обучить и развернуть все мои модели ML независимо от используемой библиотеки (Keras, Tensorflow, scikit-learn, LightFM, spacy и т. Д.). По сути, вы можете указать все ваши зависимости классическим питонским способом, т. Е. В файле qualiment.txt, и sagify прочитает их и установит их в образ Docker. Затем этот образ Docker может быть выполнен в SageMaker для обучения и развертывания.

Кроме того, я указываю в документации sagify (https://kenza -ai.github.io / sagify / ) одноразовый процесс настройки учетной записи AWS во избежание проблем, связанных с разрешениями .

0 голосов
/ 24 апреля 2018

Похоже, у вас нет доступа к ресурсу

arn:aws:sagemaker:eu-west-1:307504647302:training-job/decision-trees-sample-2018-04-24-13-13-38-281

Можете ли вы проверить, правильно ли указан URL-адрес ресурса и установлены ли соответствующие права доступа в группе безопасности.

...