最佳答案
get_execution_role()是Amazon SageMaker Examples GitHub repository中使用的功能帮助器。
这些示例是通过Amazon SageMaker提供的完全托管的Jupyter笔记本执行的。
从这些笔记本内部,get_execution_role()将返回在笔记本创建过程中传入的IAM角色名称。这样便可以在不更改代码的情况下执行笔记本示例。
从这些笔记本之外,get_execution_role()将返回异常,因为它不知道SageMaker要求的角色名称是什么。
要解决此问题,请传递IAM角色名称,而不要使用get_execution_role()。
代替:
role = get_execution_role()
kmeans = KMeans(role=role,
train_instance_count=2,
train_instance_type='ml.c4.8xlarge',
output_path=output_location,
k=10,
data_location=data_location)
您需要执行以下操作:
role = 'role_name_with_sagemaker_permissions'
kmeans = KMeans(role=role,
train_instance_count=2,
train_instance_type='ml.c4.8xlarge',
output_path=output_location,
k=10,
data_location=data_location)
关于amazon-web-services - 当前的AWS身份不是Sagemaker的角色吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47710558/