

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

# モデルを作成する
<a name="serverless-endpoints-create-model"></a>

モデルを作成するには、モデルのアーティファクトとコンテナイメージの場所を指定する必要があります。[SageMaker モデルレジストリ](model-registry.md)からモデルのバージョンを使用することもできます。次のセクションの例では、[CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) API、モデルレジストリ、および [Amazon SageMaker AI コンソール](https://console.aws.amazon.com/sagemaker/home)を使用してモデルを作成する方法を説明します。

## モデルを作成するには (モデルレジストリを使用)
<a name="serverless-endpoints-create-model-registry"></a>

[モデルレジストリ](model-registry.md)は、ML パイプラインで使用するモデルのバージョンのカタログを作成し、管理するのに役立つ SageMaker AI の機能です。サーバーレス推論でモデルレジストリを使用するには、最初にモデルレジストリのモデルグループにモデルのバージョンを登録する必要があります。モデルレジストリにモデルを登録する方法については、「[モデルグループを作成する](model-registry-model-group.md)」および「[モデルバージョンを登録する](model-registry-version.md)」の手順に従ってください。

次の例では、登録されたモデルのバージョンの ARN が必要で、[AWS SDK for Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/index.html) を使用して [CreateModel API](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) を呼び出します。サーバーレス推論の場合、モデルレジストリは現在 AWS SDK for Python (Boto3) でのみサポートされています。サンプルについては、次の値を指定します。
+ `model_name` に、モデルの名前を入力します。
+ `sagemaker_role` には、SageMaker AI が作成したデフォルトのロール、または「[の前提条件を満たす](serverless-endpoints-prerequisites.md)」セクションのステップ 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 を使用)
<a name="serverless-endpoints-create-model-api"></a>

次の例では、[AWS SDK for Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/index.html) を使用して [CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) API を呼び出します。次の値を指定します。
+ `sagemaker_role,` には、SageMaker AI が作成したデフォルトのロール、または「[の前提条件を満たす](serverless-endpoints-prerequisites.md)」セクションのステップ 4 でカスタマイズした SageMaker AI IAM ロールを使用できます。
+ `model_url` には、Amazon S3 URI をモデルに指定します。
+ `container` には、Amazon ECR パスで使用するコンテナを取得します。この例では、SageMaker AI が提供する XGBoost コンテナを使用します。SageMaker AI コンテナを選択していない場合、または独自のコンテナを使用する場合は、「[の前提条件を満たす](serverless-endpoints-prerequisites.md)」セクションのステップ 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,
    }]
)
```

## モデルを作成するには (コンソールを使用)
<a name="serverless-endpoints-create-model-console"></a>

1. [Amazon SageMaker AI コンソール](https://console.aws.amazon.com/sagemaker/home)にサインインします。

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

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

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

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

1. **[IAM ロール]** で作成済みの IAM ロール (「[の前提条件を満たす](serverless-endpoints-prerequisites.md)」を参照) を選択するか、SageMaker AI に IAM ロールの作成を許可します。

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

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

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

1. **[Location of model artifacts]** (モデルアーティファクトの場所) に、ML モデルへの Amazon S3 URI を入力します。例えば、`s3://amzn-s3-demo-bucket/models/model.tar.gz`。

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

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