我正在运行k-means example in SageMaker

from sagemaker import KMeans

data_location = 's3://{}/kmeans_highlevel_example/data'.format(bucket)
output_location = 's3://{}/kmeans_example/output'.format(bucket)

kmeans = KMeans(role=role, train_instance_count=2,
                train_instance_type='ml.c4.8xlarge',
                output_path=output_location,
                k=10, data_location=data_location)


。当我运行此行时,它显示访问被拒绝错误。

%%time

kmeans.fit(kmeans.record_set(train_set[0]))


错误返回:
ClientError:调用PutObject操作时发生错误(AccessDenied):访问被拒绝

我也阅读了其他问题,但是他们的答案并不能解决我的问题。
你能看看我的案子吗?

最佳答案

为了能够在SageMaker中培训工作,您需要传递一个AWS IAM角色,以允许SageMaker访问您的S3存储桶。

该错误表示SageMaker没有权限在您指定的存储桶中写入文件。

您可以在此处找到需要添加到角色的权限L https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html#sagemaker-roles-createtrainingjob-perms

sagemaker aws-sagemaker role

关于python - SageMaker示例访问被拒绝,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49480931/

10-12 21:14