モデルを作成する - Amazon SageMaker

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

モデルを作成する

モデルを作成するには、モデルのアーティファクトとコンテナイメージの場所を指定する必要があります。SageMaker Model Registry からモデルバージョンを使用することもできます。以下のセクションの例は、CreateModelAPI、モデルレジストリ、および Amazon SageMaker コンソール を使用してモデルを作成する方法を示しています。

モデルを作成するには (モデルレジストリを使用)

Model Registry は、ML パイプラインで使用するモデルのバージョンをカタログ化および管理 SageMaker するための の機能です。サーバーレス推論でモデルレジストリを使用するには、最初にモデルレジストリのモデルグループにモデルのバージョンを登録する必要があります。モデルレジストリにモデルを登録する方法については、「モデルグループを作成する」および「モデルバージョンを登録する」の手順に従ってください。

次の例ではARN、登録済みのモデルバージョンの が必要であり、 AWS SDK for Python (Boto3) を使用して CreateModel を呼び出しますAPI。Serverless Inference の場合、モデルレジストリは現在、 for AWS SDKPython (Boto3) でのみサポートされています。サンプルについては、次の値を指定します。

  • model_name に、モデルの名前を入力します。

  • ではsagemaker_role前提条件を満たすセクションのステップ 4 で SageMaker作成したデフォルトのロールまたはカスタマイズされた SageMaker IAMロールを使用できます。

  • ではModelPackageName、ARNモデルバージョンの を指定します。これは、Model Registry のモデルグループに登録する必要があります。

#Setup import boto3 import sagemaker region = boto3.Session().region_name client = boto3.client("sagemaker", region_name=region) #Role to give SageMaker 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作成したデフォルトのロールまたはカスタマイズされた SageMaker IAMロールを使用できます。

  • ではmodel_url、モデルURIに Amazon S3 を指定します。

  • の場合container、Amazon ECRパスで使用するコンテナを取得します。この例では、 SageMakerが提供するXGBoostコンテナを使用します。コンテナを選択 SageMakerしていない場合、または独自のコンテナを持ち込んだ場合は、詳細については、前提条件を満たす「」セクションのステップ 6 を参照してください。

  • model_name に、モデルの名前を入力します。

#Setup import boto3 import sagemaker region = boto3.Session().region_name client = boto3.client("sagemaker", region_name=region) #Role to give SageMaker 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 コンソール にサインインします。

  2. [ナビゲーション] タブで、[Inference] (推論) を選択します。

  3. 次に、[Models] (モデル) を選択します。

  4. [モデルの作成] を選択します。

  5. モデル名 には、アカウントと に固有のモデルの名前を入力します AWS リージョン。

  6. IAM ロール では、既に作成したIAMロールを選択するか (「」を参照前提条件を満たす)、 に許可 SageMaker して作成します。

  7. [Container input option] (コンテナ入力オプション) の [Container definition 1] (コンテナの定義 1) で、[Provide model artifacts and input location] (モデルのアーティファクトと入力場所を指定する) を選択します。

  8. [Provide model artifacts and inference image options] (モデルアーティファクトと推論イメージオプションを指定する) で、[Use a single model] (単一のモデルを使用する) を選択します。

  9. 推論コードイメージの場所 には、コンテナへの Amazon ECRパスを入力します。イメージは、 SageMakerが提供するファーストパーティイメージ ( などXGBoost) か TensorFlow、エンドポイントを作成するのと同じアカウント内の Amazon ECRリポジトリにあるイメージである必要があります。コンテナがない場合は、「前提条件を満たす」セクションのステップ 6 に戻り、詳細を参照してください。

  10. モデルアーティファクトの場所 には、ML モデルURIに Amazon S3 を入力します。例えば、s3://amzn-s3-demo-bucket/models/model.tar.gz と指定します。

  11. (オプション) [Tags] (タグ) では、キーバリューペアを追加して、モデルのメタデータを作成します。

  12. [モデルの作成] を選択します。