

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

# Mempersiapkan pekerjaan pelatihan untuk mengumpulkan data TensorBoard output
<a name="debugger-htb-prepare-training-job"></a>

Pekerjaan pelatihan khas untuk pembelajaran mesin di SageMaker AI terdiri dari dua langkah utama: menyiapkan skrip pelatihan dan mengonfigurasi objek estimator SageMaker AI dari AI SageMaker Python SDK. Di bagian ini, Anda akan mempelajari tentang perubahan yang diperlukan untuk mengumpulkan data TensorBoard yang kompatibel dari pekerjaan SageMaker pelatihan.

## Prasyarat
<a name="debugger-htb-prerequisites"></a>

Daftar berikut menunjukkan prasyarat untuk mulai menggunakan AI dengan. SageMaker TensorBoard
+ Domain SageMaker AI yang disiapkan dengan Amazon VPC di akun Anda AWS . 

  Untuk petunjuk cara menyiapkan domain, lihat [Onboard to Amazon SageMaker AI domain menggunakan penyiapan cepat](https://docs.aws.amazon.com/sagemaker/latest/dg/onboard-quick-start.html). Anda juga perlu menambahkan profil pengguna domain untuk pengguna individu untuk mengakses SageMaker AI TensorBoard di. Untuk informasi selengkapnya, lihat [Tambahkan profil pengguna](domain-user-profile-add.md).
+ Daftar berikut adalah set izin minimum untuk digunakan TensorBoard pada SageMaker AI.
  + `sagemaker:CreateApp`
  + `sagemaker:DeleteApp`
  + `sagemaker:DescribeTrainingJob`
  + `sagemaker:Search`
  + `s3:GetObject`
  + `s3:ListBucket`

## Langkah 1: Ubah skrip pelatihan Anda dengan alat TensorBoard pembantu sumber terbuka
<a name="debugger-htb-prepare-training-job-1"></a>

Pastikan Anda menentukan tensor dan skalar keluaran mana yang akan dikumpulkan, dan ubah baris kode dalam skrip pelatihan Anda menggunakan salah satu alat berikut: TensorBoard X, TensorFlow Summary Writer, Summary Writer, atau PyTorch Debugger. SageMaker 

Pastikan juga bahwa Anda menentukan jalur keluaran TensorBoard data sebagai direktori log (`log_dir`) untuk callback dalam wadah pelatihan. 

Untuk informasi selengkapnya tentang callback per framework, lihat sumber daya berikut.
+ Untuk PyTorch, gunakan [torch.utils.tensorboard. SummaryWriter](https://pytorch.org/docs/stable/tensorboard.html#module-torch.utils.tensorboard). Lihat juga bagian [Using TensorBoard in PyTorch](https://pytorch.org/tutorials/recipes/recipes/tensorboard_with_pytorch.html#using-tensorboard-in-pytorch) dan [Log skalar](https://pytorch.org/tutorials/recipes/recipes/tensorboard_with_pytorch.html#log-scalars) di *PyTorchtutorial*. Atau, Anda dapat menggunakan [TensorBoardX Summary Writer](https://tensorboardx.readthedocs.io/en/latest/tutorial.html).

  ```
  LOG_DIR="/opt/ml/output/tensorboard"
  tensorboard_callback=torch.utils.tensorboard.writer.SummaryWriter(log_dir=LOG_DIR)
  ```
+ Untuk TensorFlow, gunakan callback asli untuk, TensorBoard [tf.keras.callbacks. TensorBoard](https://www.tensorflow.org/api_docs/python/tf/keras/callbacks/TensorBoard).

  ```
  LOG_DIR="/opt/ml/output/tensorboard"
  tensorboard_callback=tf.keras.callbacks.TensorBoard(
      log_dir=LOG_DIR, histogram_freq=1)
  ```
+ [Untuk Transformers dengan PyTorch, Anda dapat menggunakan transformers.integrations. TensorBoardCallback](https://huggingface.co/docs/transformers/main/en/main_classes/callback#transformers.integrations.TensorBoardCallback). 

  Untuk Transformers dengan TensorFlow, gunakan`tf.keras.tensorboard.callback`, dan teruskan ke callback keras di transformer.
**Tip**  
Anda juga dapat menggunakan jalur keluaran lokal kontainer yang berbeda. Namun, di[Langkah 2: Buat objek estimator SageMaker pelatihan dengan konfigurasi TensorBoard output](#debugger-htb-prepare-training-job-2), Anda harus memetakan jalur dengan benar agar SageMaker AI berhasil mencari jalur lokal dan menyimpan TensorBoard data ke bucket keluaran S3.
+ Untuk panduan tentang memodifikasi skrip pelatihan menggunakan pustaka Python SageMaker Debugger, lihat. [Mengadaptasi skrip pelatihan Anda untuk mendaftarkan hook](debugger-modify-script.md)

## Langkah 2: Buat objek estimator SageMaker pelatihan dengan konfigurasi TensorBoard output
<a name="debugger-htb-prepare-training-job-2"></a>

Gunakan `sagemaker.debugger.TensorBoardOutputConfig` saat mengonfigurasi estimator kerangka kerja SageMaker AI. API konfigurasi ini memetakan bucket S3 yang Anda tentukan untuk menyimpan TensorBoard data dengan jalur lokal di container pelatihan (`/opt/ml/output/tensorboard`). Lewatkan objek modul ke `tensorboard_output_config` parameter kelas estimator. Cuplikan kode berikut menunjukkan contoh mempersiapkan TensorFlow estimator dengan parameter konfigurasi TensorBoard output.

**catatan**  
Contoh ini mengasumsikan bahwa Anda menggunakan SageMaker Python SDK. Jika Anda menggunakan SageMaker API tingkat rendah, Anda harus menyertakan yang berikut ini ke sintaks permintaan API. [CreateTrainingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html)  

```
"TensorBoardOutputConfig": { 
  "LocalPath": "/opt/ml/output/tensorboard",
  "S3OutputPath": "s3_output_bucket"
}
```

```
from sagemaker.tensorflow import TensorFlow
from sagemaker.debugger import TensorBoardOutputConfig

# Set variables for training job information, 
# such as s3_out_bucket and other unique tags.
... 

LOG_DIR="/opt/ml/output/tensorboard"

output_path = os.path.join(
    "s3_output_bucket", "sagemaker-output", "date_str", "your-training_job_name"
)

tensorboard_output_config = TensorBoardOutputConfig(
    s3_output_path=os.path.join(output_path, 'tensorboard'),
    container_local_output_path=LOG_DIR
)

estimator = TensorFlow(
    entry_point="train.py",
    source_dir="src",
    role=role,
    image_uri=image_uri,
    instance_count=1,
    instance_type="ml.c5.xlarge",
    base_job_name="your-training_job_name",
    tensorboard_output_config=tensorboard_output_config,
    hyperparameters=hyperparameters
)
```

**catatan**  
 TensorBoard Aplikasi tidak memberikan out-of-the-box dukungan untuk pekerjaan tuning hyperparameter SageMaker AI, karena [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHyperParameterTuningJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHyperParameterTuningJob.html)API tidak terintegrasi dengan konfigurasi TensorBoard output untuk pemetaan. Untuk menggunakan TensorBoard aplikasi untuk pekerjaan tuning hyperparameter, Anda perlu menulis kode untuk mengunggah metrik ke Amazon S3 dalam skrip pelatihan Anda. Setelah metrik diunggah ke bucket Amazon S3, Anda kemudian dapat memuat bucket ke dalam aplikasi TensorBoard di AI. SageMaker 