

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Gunakan kolam hangat yang dikelola SageMaker AI
<a name="train-warm-pools-how-to-use"></a>

Anda dapat menggunakan kumpulan hangat yang dikelola SageMaker AI melalui SageMaker Python SDK, konsol Amazon SageMaker AI, atau melalui level rendah. APIs Administrator secara opsional dapat menggunakan kunci `sagemaker:KeepAlivePeriod` kondisi untuk lebih membatasi `KeepAlivePeriodInSeconds` batas untuk pengguna atau grup tertentu.

**Topics**
+ [Menggunakan SageMaker AI Python SDK](#train-warm-pools-how-to-use-python-sdk)
+ [Menggunakan konsol Amazon SageMaker AI](#train-warm-pools-how-to-use-sagemaker-console)
+ [Menggunakan level rendah SageMaker APIs](#train-warm-pools-how-to-use-low-level-apis)
+ [Kunci kondisi IAM](#train-warm-pools-how-to-use-iam-condition-key)

## Menggunakan SageMaker AI Python SDK
<a name="train-warm-pools-how-to-use-python-sdk"></a>

Buat, perbarui, atau hentikan kolam hangat menggunakan SageMaker Python SDK.

**catatan**  
Fitur ini tersedia di SageMaker AI [Python SDK v2.110.0](https://pypi.org/project/sagemaker/2.110.0/) dan yang lebih baru.

**Topics**
+ [Buat kolam yang hangat](#train-warm-pools-how-to-use-python-sdk-create)
+ [Perbarui kolam hangat](#train-warm-pools-how-to-use-python-sdk-update)
+ [Hentikan kolam yang hangat](#train-warm-pools-how-to-use-python-sdk-terminate)

### Buat kolam yang hangat
<a name="train-warm-pools-how-to-use-python-sdk-create"></a>

Untuk membuat kolam hangat, gunakan SageMaker Python SDK untuk membuat estimator dengan `keep_alive_period_in_seconds` nilai lebih besar dari 0 dan panggil. `fit()` Ketika pekerjaan pelatihan selesai, kolam hangat dipertahankan. Untuk informasi selengkapnya tentang skrip pelatihan dan estimator, lihat [Melatih Model dengan Python SageMaker ](https://sagemaker.readthedocs.io/en/stable/overview.html#train-a-model-with-the-sagemaker-python-sdk) SDK. Jika skrip Anda tidak membuat kolam hangat, lihat [Pembuatan kolam hangat](train-warm-pools.md#train-warm-pools-creation) penjelasan yang mungkin.

```
import sagemaker
from sagemaker import get_execution_role
from sagemaker.tensorflow import TensorFlow

# Creates a SageMaker AI session and gets execution role
session = sagemaker.Session()
role = get_execution_role()

# Creates an example estimator
estimator = TensorFlow(
    ...
    entry_point={{'my-training-script.py'}},
    source_dir={{'code'}},
    role={{role}},
    model_dir={{'model_dir'}},
    framework_version={{'2.2'}},
    py_version={{'py37'}},
    job_name={{'my-training-job-1'}},
    instance_type={{'ml.g4dn.xlarge'}},
    instance_count={{1}},
    volume_size={{250}},
    hyperparameters={
        "batch-size": {{512}},
        "epochs": {{1}},
        "learning-rate": {{1e-3}},
        "beta_1": {{0.9}},
        "beta_2": {{0.999}},
    },
    keep_alive_period_in_seconds={{1800}},
)

# Starts a SageMaker training job and waits until completion
estimator.fit({{'s3://my_bucket/my_training_data/'}})
```

Selanjutnya, buat pekerjaan pelatihan pencocokan kedua. Dalam contoh ini, kami membuat`my-training-job-2`, yang memiliki semua atribut yang diperlukan untuk dicocokkan`my-training-job-1`, tetapi memiliki hyperparameter yang berbeda untuk eksperimen. Pekerjaan pelatihan kedua menggunakan kembali kolam hangat dan memulai lebih cepat daripada pekerjaan pelatihan pertama. Contoh kode berikut menggunakan estimator Tensorflow. Fitur kolam hangat dapat digunakan dengan algoritma pelatihan apa pun yang berjalan di Amazon SageMaker AI. Untuk informasi selengkapnya tentang atribut mana yang perlu dicocokkan, lihat[Lowongan kerja pelatihan yang cocok](train-warm-pools.md#train-warm-pools-matching-criteria).

```
# Creates an example estimator
estimator = TensorFlow(
    ...
    entry_point={{'my-training-script.py'}},
    source_dir={{'code'}},
    role={{role}},
    model_dir={{'model_dir'}},
    framework_version={{'py37'}},
    py_version={{'pyxy'}},
    job_name={{'my-training-job-2'}},
    instance_type={{'ml.g4dn.xlarge'}},
    instance_count={{1}},
    volume_size={{250}},
    hyperparameters={
        "batch-size": {{512}},
        "epochs": {{2}},
        "learning-rate": {{1e-3}},
        "beta_1": {{0.9}},
        "beta_2": {{0.999}},
    },
    keep_alive_period_in_seconds={{1800}},
)

# Starts a SageMaker training job and waits until completion
estimator.fit({{'s3://my_bucket/my_training_data/'}})
```

Periksa status kolam hangat dari kedua pekerjaan pelatihan untuk memastikan bahwa kolam hangat `Reused` untuk `my-training-job-1` dan `InUse` untuk`my-training-job-2`.

**catatan**  
Nama pekerjaan pelatihan memiliki date/time sufiks. Contoh nama pekerjaan pelatihan `my-training-job-1` dan `my-training-job-2` harus diganti dengan nama pekerjaan pelatihan yang sebenarnya. Anda dapat menggunakan `estimator.latest_training_job.job_name` perintah untuk mengambil nama pekerjaan pelatihan yang sebenarnya.

```
session.describe_training_job({{'my-training-job-1'}})
session.describe_training_job({{'my-training-job-2'}})
```

Hasil `describe_training_job` memberikan semua detail tentang pekerjaan pelatihan yang diberikan. Temukan `WarmPoolStatus` atribut untuk memeriksa informasi tentang kolam hangat pekerjaan pelatihan. Output Anda akan terlihat mirip dengan contoh berikut:

```
# Warm pool status for training-job-1
...
'WarmPoolStatus': {'Status': 'Reused', 
  'ResourceRetainedBillableTimeInSeconds': 1000,
  'ReusedByName': my-training-job-2}
...

# Warm pool status for training-job-2
... 
'WarmPoolStatus': {'Status': 'InUse'}
...
```

### Perbarui kolam hangat
<a name="train-warm-pools-how-to-use-python-sdk-update"></a>

Ketika pekerjaan pelatihan selesai dan status kolam hangat`Available`, maka Anda dapat memperbarui `KeepAlivePeriodInSeconds` nilainya.

```
session.update_training_job(job_name, resource_config={"KeepAlivePeriodInSeconds":{{3600}}})
```

### Hentikan kolam yang hangat
<a name="train-warm-pools-how-to-use-python-sdk-terminate"></a>

Untuk menghentikan kolam hangat secara manual, atur `KeepAlivePeriodInSeconds ` nilainya ke 0.

```
session.update_training_job(job_name, resource_config={"KeepAlivePeriodInSeconds":0})
```

Kolam hangat secara otomatis berakhir ketika melebihi `KeepAlivePeriodInSeconds` nilai yang ditentukan atau jika ada pembaruan tambalan untuk cluster.

## Menggunakan konsol Amazon SageMaker AI
<a name="train-warm-pools-how-to-use-sagemaker-console"></a>

Melalui konsol, Anda dapat membuat kolam hangat, melepaskan kolam hangat, atau memeriksa status kolam hangat dan waktu yang dapat ditagih dari pekerjaan pelatihan tertentu. Anda juga dapat melihat pekerjaan pelatihan yang cocok menggunakan kembali kolam hangat.

1. Buka [konsol Amazon SageMaker AI](https://console.aws.amazon.com/ec2/) dan pilih **Training jobs** dari panel navigasi. Jika berlaku, status kolam hangat dari setiap pekerjaan pelatihan terlihat di kolom **status kolam hangat** dan waktu yang tersisa untuk kolam hangat aktif terlihat di kolom **Waktu kiri**.

1. Untuk membuat pekerjaan pelatihan yang menggunakan kolam hangat dari konsol, pilih **Buat pekerjaan pelatihan**. Kemudian, pastikan untuk menentukan nilai untuk bidang **Keep alive period** saat mengonfigurasi sumber daya pekerjaan pelatihan Anda. Nilai ini harus berupa bilangan bulat antara 1 dan 3600, yang mewakili durasi waktu dalam detik.

1. Untuk merilis kolam hangat dari konsol, pilih tugas pelatihan tertentu dan pilih **Release cluster** dari menu dropdown **Actions**.

1. Untuk melihat informasi lebih lanjut tentang kolam hangat, pilih nama pekerjaan pelatihan. Di halaman detail pekerjaan, gulir ke bawah ke bagian **status kolam hangat** untuk menemukan status kolam hangat, waktu tersisa jika status kolam hangat`Available`, detik yang dapat ditagih kolam hangat, dan nama pekerjaan pelatihan yang menggunakan kembali kolam hangat jika status kolam hangat adalah. `Reused`

## Menggunakan level rendah SageMaker APIs
<a name="train-warm-pools-how-to-use-low-level-apis"></a>

Gunakan kolam hangat yang dikelola SageMaker AI dengan SageMaker API atau AWS CLI.

### SageMaker API AI
<a name="train-warm-pools-how-to-use-low-level-apis-sagemaker"></a>

Siapkan kolam hangat yang dikelola SageMaker AI menggunakan SageMaker API dengan perintah berikut:
+ [ CreateTrainingJob ](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html)
+ [ UpdateTrainingJob ](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateTrainingJob.html)
+ [ ListTrainingJobs ](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListTrainingJobs.html)
+ [ DescribeTrainingJob ](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTrainingJob.html)

### AWS CLI
<a name="train-warm-pools-how-to-use-low-level-apis-cli"></a>

Siapkan kolam hangat yang dikelola SageMaker AI menggunakan AWS CLI dengan perintah berikut:
+ [create-training-job](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/create-training-job.html)
+ [update-training-job](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-training-job.html)
+ [list-training-jobs](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/list-training-jobs.html)
+ [describe-training-job](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/describe-training-job.html)

## Kunci kondisi IAM
<a name="train-warm-pools-how-to-use-iam-condition-key"></a>

Administrator secara opsional dapat menggunakan kunci `sagemaker:KeepAlivePeriod` kondisi untuk lebih membatasi `KeepAlivePeriodInSeconds` batas untuk pengguna atau grup tertentu. SageMaker Kolam hangat yang dikelola AI dibatasi hingga `KeepAlivePeriodInSeconds` nilai 3600 detik (60 menit), tetapi administrator dapat menurunkan batas ini jika diperlukan. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EnforceKeepAlivePeriodLimit",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateTrainingJob"
            ],
            "Resource": "*",
            "Condition": {
                "NumericLessThanIfExists": {
                    "sagemaker:KeepAlivePeriod": "{{1800}}"
                }
            }
        }
    ]
}
```

------

Untuk informasi selengkapnya, lihat [Kunci kondisi untuk Amazon SageMaker AI](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonsagemaker.html#amazonsagemaker-policy-keys) di *Referensi Otorisasi Layanan*.