建立模型 - Amazon SageMaker AI

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

建立模型

若要建立模型,您必須提供模型成品和容器映像的位置。您也可以從模型SageMaker 登錄檔使用模型版本。以下各節中的範例說明如何使用 CreateModel API、模型登錄檔和 Amazon SageMaker AI 主控台建立模型。

若要建立模型 (使用模型註冊表)

模型登錄是 SageMaker AI 的一項功能,可協助您為模型的版本編製目錄和管理,以用於 ML 管道。若要將模型註冊表與無伺服器推論搭配使用,您必須先在模型註冊表的模型群組中,註冊模型版本。若要了解如何在模型註冊表中註冊模型,請遵循建立模型群組註冊模型版本中的程序。

下列範例需要您擁有已註冊模型版本的 ARN,並使用 AWS SDK for Python (Boto3) 呼叫 CreateModel API。對於無伺服器推論, 模型登錄檔目前僅支援適用於 Python AWS SDK(Boto3) 的 。例如,指定下列值:

  • model_name 中,輸入模型的名稱。

  • 對於 sagemaker_role,您可以使用預設 SageMaker AI 建立的角色,或從 完成先決條件 區段的步驟 4 自訂 SageMaker AI IAM角色。

  • 對於 ModelPackageName,請ARN指定模型版本的 ,其必須在模型登錄檔中註冊到模型群組。

#Setup import boto3 import sagemaker region = boto3.Session().region_name client = boto3.client("sagemaker", region_name=region) #Role to give SageMaker AI permission to access AWS services. sagemaker_role = sagemaker.get_execution_role() #Specify a name for the model model_name = "<name-for-model>" #Specify a Model Registry model version container_list = [ { "ModelPackageName": <model-version-arn> } ] #Create the model response = client.create_model( ModelName = model_name, ExecutionRoleArn = sagemaker_role, container_list )

建立模型 (使用 API)

下列範例使用 AWS SDK for Python (Boto3) 來呼叫 CreateModel API。指定下列值:

  • 對於 sagemaker_role, ,您可以使用 完成先決條件區段的步驟 4 中的預設 SageMaker AI 建立角色或自訂 SageMaker AI IAM角色。

  • 針對 model_url,將 Amazon S3 指定URI為您的模型。

  • 針對 container,擷取您要由其 Amazon ECR 路徑使用的容器。此範例使用 SageMaker AI 提供的XGBoost容器。如果您尚未選取 SageMaker AI 容器或自行攜帶,請參閱 完成先決條件一節的步驟 6 以取得詳細資訊。

  • model_name 中,輸入模型的名稱。

#Setup import boto3 import sagemaker region = boto3.Session().region_name client = boto3.client("sagemaker", region_name=region) #Role to give SageMaker AI permission to access AWS services. sagemaker_role = sagemaker.get_execution_role() #Get model from S3 model_url = "s3://amzn-s3-demo-bucket/models/model.tar.gz" #Get container image (prebuilt example) from sagemaker import image_uris container = image_uris.retrieve("xgboost", region, "0.90-1") #Create model model_name = "<name-for-model>" response = client.create_model( ModelName = model_name, ExecutionRoleArn = sagemaker_role, Containers = [{ "Image": container, "Mode": "SingleModel", "ModelDataUrl": model_url, }] )

建立模型 (使用主控台)

  1. 登入 Amazon SageMaker AI 主控台

  2. 在導覽索引標籤中,選擇推論

  3. 接下來,選擇模型

  4. 選擇建立模型

  5. 針對模型名稱,輸入您帳戶 和 唯一模型的名稱 AWS 區域。

  6. 對於IAM角色,請選取您已建立IAM的角色 (請參閱 完成先決條件),或允許 SageMaker AI 為您建立角色。

  7. 容器定義 1 中,對於容器輸入選項,選取提供模型成品和輸入位置

  8. 提供模型成品和推論影像選項中,選取使用單一模型

  9. 針對推論程式碼影像的位置,輸入容器的 Amazon ECR 路徑。映像必須是 SageMaker AI 提供的第一方映像 (例如 XGBoost) TensorFlow,或位於您建立端點之相同帳戶中 Amazon ECR儲存庫中的映像。如果您沒有容器,請傳回完成先決條件本節的步驟 6 以取得更多資訊。

  10. 針對模型成品的位置,輸入 Amazon S3 URI到您的 ML 模型。例如:s3://amzn-s3-demo-bucket/models/model.tar.gz

  11. (選用) 在標籤中,新增鍵值對以建立裝置的中繼資料。

  12. 選擇建立模型