我试图通过从Java触发AWS Sagemaker来创建一个模型。
我遵循的步骤如下,
- 上传培训数据的csv,目标字段为第一个字段- WORKED
- 使用AWS SDK中的createTrainingJob API使用SageMaker创建培训工作-在此处发布
我在尝试创建映像时遇到以下异常Cannot find the requested image: 777445444252.dkr.ecr.eu-west-1.amazonaws.com/sagemakerimage with tag: latest and digest: null. Please check if your ECR image exists and role arn:aws:iam::777445444252:role/sagemaker has proper pull permissions for SageMaker: ecr:BatchCheckLayerAvailability, ecr:BatchGetImage, ecr:GetDownloadUrlForLayer
我已经创建了角色sagemaker
,其权限为x1c 0d1x,这样它就可以使用完全权限访问ECR中的所有存储库。
我还确保我有在ECR中创建的存储库sagemakerimage
,但我仍然得到这个错误。我不确定我正在尝试做的事情有什么问题。
还有,我以为图像是应该创建的?
2条答案
按热度按时间oxosxuxt1#
请按照示例here使用Java API创建一个培训作业,并确保ECR图像所在的区域与您的参考相同,并且已正确标记。
gdx19jrr2#
我认为docker映像不是由您的角色而是由sagemaker角色拉取的(在IAM中查找类似
Sagemaker_role
的内容)。进行此角色转移是因为Sagemaker需要iam:PassRole,它将作业的角色从调用者(您)更改为sagemaker角色Sagemaker_role
。似乎Sagemaker_role
没有从ECR拉取映像的权限。正在使用的角色基于您传递给EstimatorBase的角色(python API但大致类似)。