我正在运行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/