附加自訂 SageMaker 影像 - Amazon SageMaker

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

附加自訂 SageMaker 影像

重要

允許 Amazon SageMaker 工作室或 Amazon 工作 SageMaker 室經典版創建 Amazon SageMaker 資源的自定義 IAM 政策還必須授予許可才能向這些資源添加標籤。需要向資源添加標籤的權限,因為 Studio 和 Studio 經典版會自動標記它們創建的任何資源。如果 IAM 政策允許 Studio 和 Studio 經典版建立資源,但不允許標記,則在嘗試建立資源時可能會發生 AccessDenied "" 錯誤。如需詳細資訊,請參閱 提供標記資 SageMaker源的權限

AWS Amazon 的受管政策 SageMaker授予建立 SageMaker 資源的權限,已包含在建立這些資源時新增標籤的權限。

重要

截至 2023 年 11 月 30 日,以前的 Amazon SageMaker 工作室體驗現在被命名為 Amazon SageMaker 工作室經典。下面的部分是特定於使用 Studio 傳統版應用程序。如需使用更新後的 Studio 體驗的相關資訊,請參閱Amazon SageMaker 一室

若要使用自訂 SageMaker 映像檔,您必須將映像檔的版本附加至您的網域或共用空間。當您附加映像版本時,它會出現在 SageMaker Studio Classic Launcher 中,並且位於 [選取影像] 下拉式清單中,使用者可用來啟動活動或變更筆記本使用的映像。

若要讓網域內的所有使用者都可以使用自訂映 SageMaker 像檔,請將映像附加至網域。若要讓共用空間內的所有使用者都可以使用映像,您可以將映像連接至共用空間。若要讓單一使用者可以使用映像,請將映像連接至使用者的設定檔。附加影像時,依預設 SageMaker 會使用最新的映像版本。您也可以連接特定的映像版本。附加版本後,您可以在啟動筆記本時,從啟動器或影像選擇器中選擇版本。 SageMaker

在任何特定時間可以連接的映像版本數量有數量限制。達到限制後,您必須分離版本才能連結另一個版本的映像。

以下各節將示範如何使用 SageMaker 主控台或將自訂 SageMaker 映像檔附加至您的網域 AWS CLI。您只能使用 AWS CLI將自訂映像連接至共用空間。

將影 SageMaker 像附加至網域

使用控制台附加 SageMaker 圖像

本主題說明如何使用 SageMaker 控制台將現有的自訂 SageMaker 映像檔版本附加至您的網域。您也可以建立自訂 SageMaker 映像檔和映像檔版本,然後將該版本附加到您的網域。如需建立映像和映像版本的程序,請參閱建立自訂 SageMaker 映像檔

連接現有的映像
  1. 在以下位置打開 Amazon SageMaker 控制台 https://console.aws.amazon.com/sagemaker/

  2. 在左側導覽窗格中,選擇管理員組態

  3. 在 [管理員設定] 下,選擇 [網域

  4. 在「網域」頁面中,選取要附加映像檔的網域。

  5. 網域詳細資訊頁面上,選擇環境索引標籤。

  6. 在 [環境] 索引標籤的 [附加至網域的自訂 SageMaker Studio 傳統映像] 下,選擇 [附加映像]。

  7. 針對映像來源,選擇現有映像

  8. 從清單中選擇現有的映像。

  9. 從清單中選擇映像的版本。

  10. 選擇下一步

  11. 確認映像名稱映像顯示名稱描述的值。

  12. 選擇 IAM 角色。如需更多更多資訊,請參閱建立自訂 SageMaker 映像檔

  13. (選擇性) 新增映像的標籤。

  14. 指定 EFS 裝載路徑。這是掛載使用者 Amazon Elastic File System (EFS) 主目錄的映像內的路徑。

  15. 對於圖像類型,選擇SageMaker 工作室映像

  16. 核心名稱中,輸入映像檔中現有核心的名稱。如需如何從映像取得核心資訊的詳細資訊,請參閱 SageMaker Studio 傳統自訂映像範例存放庫中的開發。如需更多資訊,請參閱的核心探索使用者資料一節自訂 SageMaker 影像規格

  17. (選擇性) 對於核心顯示名稱,請輸入核心的顯示名稱。

  18. 選擇新增核心

  19. 選擇提交

    1. 等待映像版本連接到網域。連接後,版本會顯示在自訂映像清單中並以重點標示。

使用附加 SageMaker 影像 AWS CLI

以下各節將示範如何在建立新網域或使用更新現有網域時附加自訂 SageMaker 映像檔 AWS CLI。

將 SageMaker 映像檔附加至新網域

以下部分將示範如何建立連接版本的新網域。這些步驟需要您指定建立網域所需的 Amazon Virtual Private Cloud (VPC) 資訊和執行角色。您可以執行下列步驟來建立網域並附加自訂 SageMaker 映像:

  • 取得您的預設 VPC ID 和子網路 ID。

  • 建立指定映像檔的網域的組態檔。

  • 用組態檔案建立網域。

將自訂 SageMaker 映像檔新增至您的網域
  1. 取得您的預設 VPC ID。

    aws ec2 describe-vpcs \ --filters Name=isDefault,Values=true \ --query "Vpcs[0].VpcId" --output text

    回應看起來應該類似以下的內容。

    vpc-xxxxxxxx
  2. 使用上一步的 VPC ID 取得您的預設子網路 ID。

    aws ec2 describe-subnets \ --filters Name=vpc-id,Values=<vpc-id> \ --query "Subnets[*].SubnetId" --output json

    回應看起來應該類似以下的內容。

    [ "subnet-b55171dd", "subnet-8a5f99c6", "subnet-e88d1392" ]
  3. 建立一個名為 create-domain-input.json 的組態檔案。插入 VPC ID、子網路 ID、ImageName 和上一步的 AppImageConfigName。由於未指定 ImageVersionNumber,因此會使用最新版本的映像檔,這是此情況下的唯一版本。

    { "DomainName": "domain-with-custom-image", "VpcId": "<vpc-id>", "SubnetIds": [ "<subnet-ids>" ], "DefaultUserSettings": { "ExecutionRole": "<execution-role>", "KernelGatewayAppSettings": { "CustomImages": [ { "ImageName": "custom-image", "AppImageConfigName": "custom-image-config" } ] } }, "AuthMode": "IAM" }
  4. 使用附加的自訂 SageMaker 映像檔建立網域。

    aws sagemaker create-domain \ --cli-input-json file://create-domain-input.json

    回應看起來應該類似以下的內容。

    { "DomainArn": "arn:aws:sagemaker:us-east-2:acct-id:domain/d-xxxxxxxxxxxx", "Url": "https://d-xxxxxxxxxxxx.studio.us-east-2.sagemaker.aws/..." }

將 SageMaker 圖片附加到您目前的網域

如果您已登入 SageMaker 網域,您可以將自訂映像檔附加到您目前的網域。如需上線至 SageMaker 網域的詳細資訊,請參閱Amazon SageMaker 域名概述。將自訂映像連接至目前的網域時,您不需要指定 VPC 資訊和執行角色。附加版本後,您必須刪除網域中的所有應用程式,然後重新開啟 Studio 經典版。要瞭解刪除應用程式的相關資訊,請參閱刪除 Amazon SageMaker 域

您可以執行下列步驟,將 SageMaker 映像新增至目前的網域。

  • DomainID從 SageMaker 控制面板獲取。

  • 使用 DomainID 取得網域的 DefaultUserSettings

  • ImageNameAppImageConfig 新增為 CustomImageDefaultUserSettings

  • 更新您的網域以包含自訂映像檔。

將自訂 SageMaker 映像檔新增至您的網域
  1. 在以下位置打開 Amazon SageMaker 控制台 https://console.aws.amazon.com/sagemaker/

  2. 在左側導覽窗格中,選擇管理員組態

  3. 在 [管理員設定] 下,選擇 [網域

  4. 在「網域」頁面中,選取要附加映像檔的網域。

  5. 網域詳細資訊頁面中,選取網域設定標籤。

  6. 網域設定索引標籤的一般設定下,找到 DomainId。ID 的格式如下:d-xxxxxxxxxxxx

  7. 使用網域 ID 來取得網域的描述。

    aws sagemaker describe-domain \ --domain-id <d-xxxxxxxxxxxx>

    回應看起來應該類似以下的內容。

    { "DomainId": "d-xxxxxxxxxxxx", "DefaultUserSettings": { "KernelGatewayAppSettings": { "CustomImages": [ ], ... } } }
  8. 將回應的預設使用者設定區段儲存至名為的檔案 default-user-settings.json

  9. 插入上一個步驟中的 ImageNameAppImageConfigName 做為自訂映像。由於未指定 ImageVersionNumber,因此會使用最新版本的映像檔,這是此情況下的唯一版本。

    { "DefaultUserSettings": { "KernelGatewayAppSettings": { "CustomImages": [ { "ImageName": "string", "AppImageConfigName": "string" } ], ... } } }
  10. 使用網域 ID 和預設使用者設定檔案來更新您的網域。

    aws sagemaker update-domain \ --domain-id <d-xxxxxxxxxxxx> \ --cli-input-json file://default-user-settings.json

    回應看起來應該類似以下的內容。

    { "DomainArn": "arn:aws:sagemaker:us-east-2:acct-id:domain/d-xxxxxxxxxxxx" }

將 SageMaker 影像附加至共用空間

您只能使用將 SageMaker 影像附加至共用空間 AWS CLI。附加版本之後,您必須刪除共用空間中的所有應用程式,然後重新開啟 Studio 經典版。要瞭解刪除應用程式的相關資訊,請參閱刪除 Amazon SageMaker 域

您可以執行下列步驟,將映 SageMaker 像新增至共用空間。

  • DomainID從 SageMaker 控制面板獲取。

  • 使用 DomainID 取得網域的 DefaultSpaceSettings

  • ImageNameAppImageConfig 新增為 CustomImageDefaultSpaceSettings

  • 更新您的網域以包含共用空間的自訂映像檔。

將自訂影 SageMaker 像新增至共用空間
  1. 在以下位置打開 Amazon SageMaker 控制台 https://console.aws.amazon.com/sagemaker/

  2. 在左側導覽窗格中,選擇管理員組態

  3. 在 [管理員設定] 下,選擇 [網域

  4. 在「網域」頁面中,選取要附加映像檔的網域。

  5. 網域詳細資訊頁面中,選取網域設定標籤。

  6. 網域設定索引標籤的一般設定下,找到 DomainId。ID 的格式如下:d-xxxxxxxxxxxx

  7. 使用網域 ID 來取得網域的描述。

    aws sagemaker describe-domain \ --domain-id <d-xxxxxxxxxxxx>

    回應看起來應該類似以下的內容。

    { "DomainId": "d-xxxxxxxxxxxx", ... "DefaultSpaceSettings": { "KernelGatewayAppSettings": { "CustomImages": [ ], ... } } }
  8. 將回應的預設空間設定區段儲存至名為 default-space-settings.json 的檔案。

  9. 插入上一個步驟中的 ImageNameAppImageConfigName做為自訂映像。由於未指定 ImageVersionNumber,因此會使用最新版本的映像檔,這是此情況下的唯一版本。

    { "DefaultSpaceSettings": { "KernelGatewayAppSettings": { "CustomImages": [ { "ImageName": "string", "AppImageConfigName": "string" } ], ... } } }
  10. 使用網域 ID 和預設空間設定檔來更新您的網域。

    aws sagemaker update-domain \ --domain-id <d-xxxxxxxxxxxx> \ --cli-input-json file://default-space-settings.json

    回應看起來應該類似以下的內容。

    { "DomainArn": "arn:aws:sagemaker:us-east-2:acct-id:domain/d-xxxxxxxxxxxx" }

查看附加的圖像 SageMaker

建立自訂 SageMaker 映像並將其附加至您的網域後,映像會出現在網域的 [環境] 索引標籤中。您只能使用以下指令,使用檢視共 AWS CLI 用空間的貼附影像。

aws sagemaker describe-domain \ --domain-id <d-xxxxxxxxxxxx>