【问题标题】:How to get an Amazon ECR container URI for a specific model image in Sagemaker?如何在 Sagemaker 中获取特定模型映像的 Amazon ECR 容器 URI?
【发布时间】:2020-12-25 18:37:42
【问题描述】:

我想知道是否可以通过编程方式(使用 AWS CLI 或 Python)获取特定图像的 Amazon ECR 容器 URI。例如,如果我需要 eu-central-1 区域的最新 linear-learner(内置模型)图像的 URL。

预期结果:

664544806723.dkr.ecr.eu-central-1.amazonaws.com/linear-learner:latest

编辑:我找到了get_image_uri 的解决方案。看来此功能将被弃用,我不知道如何改用ImageURIProvider

【问题讨论】:

  • 您可以通过使用jq解析aws ecr describe-images --repository-name <repository-name>的输出来构造URL。
  • @HediBejaoui 在这种情况下,我需要知道存储库名称(需要谷歌)。请举个例子好吗?
  • 抱歉,我错过了 linear-learner 是一个内置模型而不托管在您的 ECR 存储库中的事实。请忽略我上面的评论。

标签: python amazon-web-services aws-cli amazon-sagemaker amazon-ecr


【解决方案1】:

从 sagemaker 导入 image_uris container = sagemaker.image_uris.retrieve("linear-learner", boto3.Session().region_name)

【讨论】:

    【解决方案2】:

    较新版本的 SageMaker SDK 具有更集中的 API 来获取 URI:

    import sagemaker 
    sagemaker.image_uris.retrieve("linear-learner", "eu-central-1")
    

    给出了预期的结果:

    664544806723.dkr.ecr.eu-central-1.amazonaws.com/linear-learner:1
    

    【讨论】:

      【解决方案3】:

      我们可以使用函数get_image_uri

      from sagemaker.amazon.amazon_estimator import get_image_uri
      
      region = boto3.Session().region_name
      #or region = 'eu-central-1'
      
      get_image_uri(region_name=region,
                    repo_name='linear-learner',
                    repo_version='latest')
      

      输出:

      664544806723.dkr.ecr.eu-central-1.amazonaws.com/linear-learner:latest
      

      警告:

      'get_image_uri' method will be deprecated in favor of 'ImageURIProvider' class in SageMaker Python SDK v2.
      

      看来这个功能将被弃用,我找不到如何使用ImageURIProvider

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-02-09
        • 1970-01-01
        • 2017-12-04
        • 1970-01-01
        • 1970-01-01
        • 2020-11-18
        • 1970-01-01
        • 2019-07-05
        相关资源
        最近更新 更多