

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

# アルゴリズムを使用してトレーニングジョブを実行する
<a name="sagemaker-mkt-algo-train"></a>

アルゴリズムリソースを使用してトレーニングジョブを作成するには、Amazon SageMaker AI コンソール、低レベルの Amazon SageMaker API、または [Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable) を使います。

**注記**  
実行ロールには、指定したアルゴリズムリソースに対する`sagemaker:DescribeAlgorithm`アクセス許可が必要です。実行ロールのアクセス許可の詳細については、「」を参照してください[CreateTrainingJob API: 実行ロールアクセス許可](sagemaker-roles.md#sagemaker-roles-createtrainingjob-perms)。

**Topics**
+ [アルゴリズムを使用してトレーニングジョブを実行する (コンソール)](#sagemaker-mkt-algo-train-console)
+ [アルゴリズムを使用してトレーニングジョブを実行する (API)](#sagemaker-mkt-algo-train-api)
+ [アルゴリズムを使用してトレーニングジョブを実行する ([Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable))](#sagemaker-mkt-algo-train-sdk)

## アルゴリズムを使用してトレーニングジョブを実行する (コンソール)
<a name="sagemaker-mkt-algo-train-console"></a>

**アルゴリズムを使用してトレーニングジョブを実行するには (コンソール)**

1. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/) で SageMaker AI コンソールを開きます。

1. [**Algorithms (アルゴリズム)**] を選択します。

1. [**My algorithms (マイアルゴリズム)**] タブのリストから作成したアルゴリズムを選択するか、[**AWS Marketplace subscriptions (AWS Marketplace サブスクリプション)**] タブでサブスクライブしたアルゴリズムを選択します。

1. **[トレーニングジョブの作成]** を選択します。

   選択したアルゴリズムが自動的に選択されます。

1. [**トレーニングジョブの作成**] ページで、以下の情報を指定します。

   1. [**ジョブ名**] には、トレーニングジョブの名前を入力します。

   1. **[IAM ロール]** では、SageMaker AI でのトレーニングジョブの実行に必要な許可を持つ IAM ロールを選択するか、**[新しいロールを作成]** を選択して、`AmazonSageMakerFullAccess` 管理ポリシーがアタッチされたロールの作成を SageMaker AI に許可します。詳細については、「[SageMaker AI 実行ロールの使用方法](sagemaker-roles.md)」を参照してください。

   1. [**リソース設定**] では、以下の情報を指定します。

      1. [**インスタンスタイプ**] では、トレーニングに使用するインスタンスタイプを選択します。

      1. [**インスタンス数**] には、トレーニングジョブに使用する ML インスタンス数を入力します。

      1. [**インスタンスあたりのボリュームサイズ (GB)**] には、プロビジョニングする ML ストレージボリュームのサイズを入力します。ML ストレージボリュームには、モデルアーティファクトと増分ステートが保存されます。

      1. **暗号化キー**で、Amazon SageMaker AI で AWS Key Management Service キーを使用してトレーニングインスタンスにアタッチされた ML ストレージボリューム内のデータを暗号化する場合は、キーを指定します。

      1. [**停止条件**] には、トレーニングジョブの最大実行時間を秒数、分数、時間数、または日数で指定します。

   1. **[VPC]** には、トレーニングコンテナにアクセス権を付与する Amazon VPC を選択します。詳細については、「[Amazon VPC のリソースへのアクセス権を SageMaker AI トレーニングジョブに付与する](train-vpc.md)」を参照してください。

   1. [**ハイパーパラメータ**] には、トレーニングジョブに使用するハイパーパラメータの値を指定します。

   1. [**入力データ設定**] には、トレーニングジョブに使用する入力データのチャネルごとに以下の値を指定します。アルゴリズムの **[アルゴリズムの要約]** ページの **[チャネル仕様]** セクションでは、トレーニングのサポートに使用しているアルゴリズムのチャネル、コンテンツタイプ、サポートされる圧縮タイプ、サポートされる入力モードを確認できます。

      1. [**チャネル名**] には、入力チャネルの名前を入力します。

      1. [**コンテンツタイプ**] には、アルゴリズムがチャネルに期待するデータのコンテンツタイプを入力します。

      1. [**圧縮タイプ**] では、使用するデータ圧縮タイプがあればそれを選択します。

      1. [**レコードラッパー**] では、アルゴリズムで `RecordIO` 形式のデータが必要な場合に [`RecordIO`] を選択します。

      1. [**S3 データタイプ**]、[**S3 データディストリビューションタイプ**]、および [**S3 の場所**] には、適切な値を指定します。これらの値の意味については、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_S3DataSource.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_S3DataSource.html)を参照してください。

      1. [**入力モード**] では、プロビジョニングされた ML ストレージボリュームからデータをダウンロードし、ディレクトリを Docker ボリュームにマウントする場合に [**ファイル**] を選択します。Amazon S3 からコンテナに直接データをストリーミングする場合は [**Pipe (パイプ)**] を選択します。

      1. 別の入力チャネルを追加するには、[**チャネルの追加**] を選択します。入力チャネルの追加が完了したら、[**完了**] を選択します。

   1. [**出力**] 場所には、以下の値を指定します。

      1. [**S3 出力パス**] では、トレーニングジョブがモデルアーティファクトなどの出力を保存する S3 の場所を選択します。
**注記**  
この場所に保存されているモデルアーティファクトを使用して、このトレーニングジョブからモデルまたはモデルパッケージを作成します。

      1. **暗号化キー**の場合、SageMaker AI で AWS KMS キーを使用して S3 の場所に保存されている出力データを暗号化します。

   1. [**タグ**] には、トレーニングジョブを管理するためのタグを 1 つ以上指定します。各タグは、キーおよび値 (オプション) で構成されます。タグキーはリソースごとに一意である必要があります。

   1. [**トレーニングジョブの作成**] を選択して、トレーニングジョブを実行します。

## アルゴリズムを使用してトレーニングジョブを実行する (API)
<a name="sagemaker-mkt-algo-train-api"></a>

アルゴリズムを使用してトレーニングジョブを実行する際に SageMaker API を使用するには、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html) に渡す [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AlgorithmSpecification.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AlgorithmSpecification.html) オブジェクトの [`AlgorithmName`] フィールドにアルゴリズムの名前または Amazon リソースネーム (ARN) を指定します。SageMaker AI でモデルをトレーニングする方法については、「[Amazon SageMaker でモデルをトレーニングする](how-it-works-training.md)」を参照してください。

## アルゴリズムを使用してトレーニングジョブを実行する ([Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable))
<a name="sagemaker-mkt-algo-train-sdk"></a>

で作成またはサブスクライブしたアルゴリズムを使用してトレーニングジョブ AWS Marketplace を作成し、 `AlgorithmEstimator` オブジェクトを作成し、Amazon リソースネーム (ARN) またはアルゴリズムの名前を`algorithm_arn`引数の値として指定します。その後、推定器の `fit` メソッドを呼び出します。例：

```
from sagemaker import AlgorithmEstimator
data_path = os.path.join(DATA_DIR, 'marketplace', 'training')

algo = AlgorithmEstimator(
algorithm_arn='arn:aws:sagemaker:us-east-2:012345678901:algorithm/my-algorithm',
        role='SageMakerRole',
        instance_count=1,
        instance_type='ml.c4.xlarge',
        sagemaker_session=sagemaker_session,
        base_job_name='test-marketplace')

train_input = algo.sagemaker_session.upload_data(
path=data_path, key_prefix='integ-test-data/marketplace/train')

algo.fit({'training': train_input})
```