Я работаю на примере ноутбука AWS SageMaker, и когда я играю в «Логический вывод с помощью Scikit-learn и Linear Learner», у меня возникает проблема, когда речь идет о модели SKLearn.
Код в примере:
from sagemaker.sklearn.estimator import SKLearn
script_path = 'sklearn_abalone_featurizer.py'
sklearn_preprocessor = SKLearn(
entry_point=script_path,
role=role,
train_instance_type="ml.c4.xlarge",
sagemaker_session=sagemaker_session)
sklearn_preprocessor.fit({'train': train_input})
Когда я запускаю это, я получаю сообщение об ошибке:
ClientError: Произошла ошибка (AccessDenied) при вызове
Операция CreateBucket: доступ запрещен
Итак, я изменил sklearn_preprocessor на:
sklearn_preprocessor = SKLearn(
output_path='s3://{}/{}/model'.format(s3_bucket, prefix),
entry_point=script_path,
role=role,
train_instance_type="ml.c4.xlarge",
sagemaker_session=sagemaker_session)
Где s3_bucket - это имя моего сегмента, а префикс - путь к нему.
Но, тем не менее, SKLearn хочет создать сегмент, даже если он уже существует. Когда я подгоняю модель AWS, используя тот же output_path, он работает нормально. Есть ли способ решить эту проблему без изменения политики авторизации?
РЕДАКТИРОВАТЬ: я отредактировал роль экземпляра моего ноутбука, и обучение могло быть запущено, но оно все же создало корзину *** ", в котором он сохранил модель артефакта. Как я могу заставить его сохранить артефакт в данном ведре.