

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

# Konfigurasi estimator dengan parameter untuk pembuatan profil dasar menggunakan modul Amazon SageMaker Debugger Python
<a name="debugger-configuration-for-profiling"></a>

[Secara default, pembuatan profil dasar SageMaker Debugger aktif secara default dan memantau metrik pemanfaatan sumber daya, seperti pemanfaatan CPU, pemanfaatan GPU, pemanfaatan memori GPU, Jaringan, dan waktu tunggu I/O, dari semua pekerjaan pelatihan yang diajukan menggunakan Amazon Python SDK. SageMaker SageMaker ](https://sagemaker.readthedocs.io/en/stable) SageMaker Debugger mengumpulkan metrik pemanfaatan sumber daya ini setiap 500 milidetik. Anda tidak perlu membuat perubahan tambahan dalam kode, skrip pelatihan, atau peluncur pekerjaan untuk melacak pemanfaatan sumber daya dasar. Jika Anda ingin mengubah interval pengumpulan metrik untuk pembuatan profil dasar, Anda dapat menentukan parameter khusus Debugger saat membuat peluncur pekerjaan SageMaker pelatihan menggunakan SageMaker Python SDK,, atau (CLI). AWS SDK untuk Python (Boto3) AWS Command Line Interface Dalam panduan ini, kami fokus pada cara mengubah opsi pembuatan profil menggunakan [Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable). Halaman ini memberikan template referensi untuk mengkonfigurasi objek estimator ini.

Jika Anda ingin mengakses dasbor metrik pemanfaatan sumber daya dari pekerjaan pelatihan Anda di SageMaker Studio, Anda dapat melompat ke halaman. [Amazon SageMaker Debugger UI di Eksperimen Klasik Amazon SageMaker Studio](debugger-on-studio.md)

Jika Anda ingin mengaktifkan aturan yang mendeteksi masalah pemanfaatan sumber daya sistem secara otomatis, Anda dapat menambahkan `rules` parameter di objek estimator untuk mengaktifkan aturan.

**penting**  
Untuk menggunakan fitur SageMaker Debugger terbaru, Anda perlu memutakhirkan SageMaker Python SDK dan pustaka klien. `SMDebug` Di kernel IPython Anda, Jupyter Notebook, JupyterLab atau lingkungan, jalankan kode berikut untuk menginstal versi terbaru dari pustaka dan restart kernel.  

```
import sys
import IPython
!{sys.executable} -m pip install -U sagemaker smdebug
IPython.Application.instance().kernel.do_shutdown(True)
```

## Template kode untuk mengonfigurasi objek estimator SageMaker AI dengan modul SageMaker Debugger Python di AI Python SDK SageMaker
<a name="debugger-configuration-structure-profiler"></a>

Untuk menyesuaikan konfigurasi profil dasar (`profiler_config`) atau menambahkan aturan profiler (`rules`), pilih salah satu tab untuk mendapatkan templat untuk menyiapkan estimator AI. SageMaker Di halaman berikutnya, Anda dapat menemukan informasi lebih lanjut tentang cara mengkonfigurasi dua parameter.

**catatan**  
Contoh kode berikut tidak dapat dieksekusi secara langsung. Lanjutkan ke bagian berikutnya untuk mempelajari cara mengkonfigurasi setiap parameter.

------
#### [ PyTorch ]

```
# An example of constructing a SageMaker AI PyTorch estimator
import boto3
import sagemaker
from sagemaker.pytorch import PyTorch
from sagemaker.debugger import ProfilerConfig, ProfilerRule, rule_configs

session=boto3.session.Session()
region=session.region_name

profiler_config=ProfilerConfig(...)
rules=[
    ProfilerRule.sagemaker(rule_configs.BuiltInRule())
]

estimator=PyTorch(
    entry_point="directory/to/your_training_script.py",
    role=sagemaker.get_execution_role(),
    base_job_name="debugger-profiling-demo",
    instance_count=1,
    instance_type="ml.p3.2xlarge",
    framework_version="1.12.0",
    py_version="py37",
    
    # SageMaker Debugger parameters
    profiler_config=profiler_config,
    rules=rules
)

estimator.fit(wait=False)
```

------
#### [ TensorFlow ]

```
# An example of constructing a SageMaker AI TensorFlow estimator
import boto3
import sagemaker
from sagemaker.tensorflow import TensorFlow
from sagemaker.debugger import ProfilerConfig, ProfilerRule, rule_configs

session=boto3.session.Session()
region=session.region_name

profiler_config=ProfilerConfig(...)
rules=[
    ProfilerRule.sagemaker(rule_configs.BuiltInRule())
]

estimator=TensorFlow(
    entry_point="directory/to/your_training_script.py",
    role=sagemaker.get_execution_role(),
    base_job_name="debugger-profiling-demo",
    instance_count=1,
    instance_type="ml.p3.2xlarge",
    framework_version="2.8.0",
    py_version="py37",
    
    # SageMaker Debugger parameters
    profiler_config=profiler_config,
    rules=rules
)

estimator.fit(wait=False)
```

------
#### [ MXNet ]

```
# An example of constructing a SageMaker AI MXNet estimator
import sagemaker
from sagemaker.mxnet import MXNet
from sagemaker.debugger import ProfilerConfig, ProfilerRule, rule_configs

profiler_config=ProfilerConfig(...)
rules=[
    ProfilerRule.sagemaker(rule_configs.BuiltInRule())
]

estimator=MXNet(
    entry_point="directory/to/your_training_script.py",
    role=sagemaker.get_execution_role(),
    base_job_name="debugger-profiling-demo",
    instance_count=1,
    instance_type="ml.p3.2xlarge",
    framework_version="1.7.0",
    py_version="py37",
    
    # SageMaker Debugger parameters
    profiler_config=profiler_config,
    rules=rules
)

estimator.fit(wait=False)
```

**catatan**  
Untuk MXNet, saat mengkonfigurasi `profiler_config` parameter, Anda hanya dapat mengkonfigurasi untuk pemantauan sistem. Metrik kerangka kerja profil tidak didukung untuk. MXNet

------
#### [ XGBoost ]

```
# An example of constructing a SageMaker AI XGBoost estimator
import sagemaker
from sagemaker.xgboost.estimator import XGBoost
from sagemaker.debugger import ProfilerConfig, ProfilerRule, rule_configs

profiler_config=ProfilerConfig(...)
rules=[
    ProfilerRule.sagemaker(rule_configs.BuiltInRule())
]

estimator=XGBoost(
    entry_point="directory/to/your_training_script.py",
    role=sagemaker.get_execution_role(),
    base_job_name="debugger-profiling-demo",
    instance_count=1,
    instance_type="ml.p3.2xlarge",
    framework_version="1.5-1",

    # Debugger-specific parameters
    profiler_config=profiler_config,
    rules=rules
)

estimator.fit(wait=False)
```

**catatan**  
Untuk XGBoost, saat mengkonfigurasi `profiler_config` parameter, Anda hanya dapat mengkonfigurasi untuk pemantauan sistem. Metrik kerangka kerja profil tidak didukung untuk. XGBoost

------
#### [ Generic estimator ]

```
# An example of constructing a SageMaker AI generic estimator using the XGBoost algorithm base image
import boto3
import sagemaker
from sagemaker.estimator import Estimator
from sagemaker import image_uris
from sagemaker.debugger import ProfilerConfig, DebuggerHookConfig, Rule, ProfilerRule, rule_configs

profiler_config=ProfilerConfig(...)
rules=[
    ProfilerRule.sagemaker(rule_configs.BuiltInRule())
]

region=boto3.Session().region_name
xgboost_container=sagemaker.image_uris.retrieve("xgboost", region, "1.5-1")

estimator=Estimator(
    role=sagemaker.get_execution_role()
    image_uri=xgboost_container,
    base_job_name="debugger-demo",
    instance_count=1,
    instance_type="ml.m5.2xlarge",
    
    # Debugger-specific parameters
    profiler_config=profiler_config,
    rules=rules
)

estimator.fit(wait=False)
```

------

Berikut ini memberikan deskripsi singkat tentang parameter.
+ `profiler_config`— Konfigurasikan Debugger untuk mengumpulkan metrik sistem dan metrik kerangka kerja dari pekerjaan pelatihan Anda dan simpan ke URI bucket S3 atau mesin lokal Anda yang aman. Anda dapat mengatur seberapa sering atau longgar mengumpulkan metrik sistem. Untuk mempelajari cara mengkonfigurasi `profiler_config` parameter, lihat [Konfigurasikan pengaturan untuk pembuatan profil dasar pemanfaatan sumber daya sistem](debugger-configure-system-monitoring.md) dan[Konfigurasi estimator untuk pembuatan profil kerangka kerja](debugger-configure-framework-profiling.md).
+ `rules`— Konfigurasikan parameter ini untuk mengaktifkan aturan bawaan SageMaker Debugger yang ingin Anda jalankan secara paralel. Pastikan bahwa pekerjaan pelatihan Anda memiliki akses ke bucket S3 ini. Aturan berjalan pada wadah pemrosesan dan secara otomatis menganalisis pekerjaan pelatihan Anda untuk menemukan masalah kinerja komputasi dan operasional. [ProfilerReport](debugger-built-in-profiler-rules.md#profiler-report)Aturan ini adalah aturan paling terintegrasi yang menjalankan semua aturan pembuatan profil bawaan dan menyimpan hasil pembuatan profil sebagai laporan ke dalam bucket S3 aman Anda. Untuk mempelajari cara mengkonfigurasi `rules` parameter, lihat[Menggunakan aturan profiler bawaan yang dikelola oleh Amazon SageMaker Debugger](use-debugger-built-in-profiler-rules.md).

**catatan**  
Debugger menyimpan data keluaran dengan aman di subfolder bucket S3 default Anda. Misalnya, format URI bucket S3 default adalah`s3://sagemaker-<region>-<12digit_account_id>/<base-job-name>/<debugger-subfolders>/`. Ada tiga subfolder yang dibuat oleh Debugger:`debug-output`,, `profiler-output` dan. `rule-output` Anda juga dapat mengambil bucket S3 default URIs menggunakan classmethods [estimator SageMaker AI](debugger-estimator-classmethods.md).

Lihat topik berikut untuk mengetahui cara mengonfigurasi parameter khusus Debugger secara detail.

**Topics**
+ [Template kode untuk mengonfigurasi objek estimator SageMaker AI dengan modul SageMaker Debugger Python di AI Python SDK SageMaker](#debugger-configuration-structure-profiler)
+ [Konfigurasikan pengaturan untuk pembuatan profil dasar pemanfaatan sumber daya sistem](debugger-configure-system-monitoring.md)
+ [Konfigurasi estimator untuk pembuatan profil kerangka kerja](debugger-configure-framework-profiling.md)
+ [Memperbarui pemantauan sistem Debugger dan konfigurasi profil kerangka kerja saat pekerjaan pelatihan sedang berjalan](debugger-update-monitoring-profiling.md)
+ [Matikan Debugger](debugger-turn-off-profiling.md)

# Konfigurasikan pengaturan untuk pembuatan profil dasar pemanfaatan sumber daya sistem
<a name="debugger-configure-system-monitoring"></a>

Untuk menyesuaikan interval waktu pengumpulan metrik pemanfaatan, gunakan operasi `ProfilerConfig` API untuk membuat objek parameter sambil membuat kerangka kerja SageMaker AI atau estimator generik tergantung pada preferensi Anda.

**catatan**  
Secara default, untuk semua pekerjaan SageMaker pelatihan, Debugger mengumpulkan metrik pemanfaatan sumber daya dari instans Amazon EC2 setiap 500 milidetik untuk pemantauan sistem, tanpa parameter khusus Debugger yang ditentukan dalam estimator AI. SageMaker   
Debugger menyimpan metrik sistem di bucket S3 default. Format URI bucket S3 default adalah`s3://sagemaker-<region>-<12digit_account_id>/<training-job-name>/profiler-output/`.

Contoh kode berikut menunjukkan cara mengatur `profiler_config` parameter dengan interval waktu pemantauan sistem 1000 milidetik.

```
from sagemaker.debugger import ProfilerConfig

profiler_config=ProfilerConfig(
    system_monitor_interval_millis=1000
)
```
+  `system_monitor_interval_millis`(int) — Tentukan interval pemantauan dalam milidetik untuk merekam metrik sistem. Nilai yang tersedia adalah 100, 200, 500, 1000 (1 detik), 5000 (5 detik), dan 60000 (1 menit) milidetik. Nilai defaultnya adalah 500 milidetik.

Untuk melihat kemajuan pemantauan sistem, lihat[Buka dasbor Amazon SageMaker Debugger Insights](debugger-on-studio-insights.md).

# Konfigurasi estimator untuk pembuatan profil kerangka kerja
<a name="debugger-configure-framework-profiling"></a>

**Awas**  
Untuk mendukung [Amazon SageMaker Profiler](train-use-sagemaker-profiler.md), SageMaker AI Debugger menghentikan fitur pembuatan profil kerangka kerja mulai dari 2.11 dan 2.0. TensorFlow PyTorch Anda masih dapat menggunakan fitur ini di versi kerangka kerja sebelumnya dan SDKs sebagai berikut.   
SageMaker Python SDK <= v2.130.0
PyTorch >= v1.6.0, < v2.0
TensorFlow >= v2.3.1, < v2.11
Lihat juga [16 Maret 2023](debugger-release-notes.md#debugger-release-notes-20230315).

Untuk mengaktifkan pembuatan profil kerangka kerja Debugger, konfigurasikan `framework_profile_params` parameter saat Anda membuat estimator. Pemprofilan kerangka kerja debugger mengumpulkan metrik kerangka kerja, seperti data dari tahap inisialisasi, proses pemuat data, operator Python dari kerangka kerja pembelajaran mendalam dan skrip pelatihan, pembuatan profil terperinci di dalam dan di antara langkah-langkah, dengan opsi CProfile atau Pyinstrument. Menggunakan `FrameworkProfile` kelas, Anda dapat mengonfigurasi opsi pembuatan profil kerangka kustom. 

**catatan**  
Sebelum memulai dengan pembuatan profil kerangka kerja Debugger, verifikasi bahwa kerangka kerja yang digunakan untuk membangun model Anda didukung oleh Debugger untuk pembuatan profil kerangka kerja. Untuk informasi selengkapnya, lihat [Kerangka kerja dan algoritma yang didukung](debugger-supported-frameworks.md).   
Debugger menyimpan metrik kerangka kerja dalam bucket S3 default. Format URI bucket S3 default adalah`s3://sagemaker-<region>-<12digit_account_id>/<training-job-name>/profiler-output/`.

**Topics**
+ [Profil kerangka kerja default](debugger-configure-framework-profiling-basic.md)
+ [Pemantauan sistem default dan pembuatan profil kerangka kerja yang disesuaikan untuk langkah target atau rentang waktu target](debugger-configure-framework-profiling-range.md)
+ [Pemantauan sistem default dan pembuatan profil kerangka kerja yang disesuaikan dengan opsi pembuatan profil yang berbeda](debugger-configure-framework-profiling-options.md)

# Profil kerangka kerja default
<a name="debugger-configure-framework-profiling-basic"></a>

Pemprofilan default kerangka kerja debugger mencakup opsi berikut: pembuatan profil terperinci, profil pemuat data, dan profil Python. Kode contoh berikut adalah pengaturan `profiler_config` parameter paling sederhana untuk memulai pemantauan sistem default dan pembuatan profil kerangka kerja default. `FrameworkProfile`Kelas dalam kode contoh berikut memulai profil kerangka kerja default ketika pekerjaan pelatihan dimulai. 

```
from sagemaker.debugger import ProfilerConfig, FrameworkProfile
    
profiler_config=ProfilerConfig(
    framework_profile_params=FrameworkProfile()
)
```

Dengan konfigurasi `profiler_config` parameter ini, Debugger memanggil pengaturan default pemantauan dan pembuatan profil. Debugger memantau metrik sistem setiap 500 milidetik; profil langkah kelima dengan opsi pembuatan profil terperinci; langkah ketujuh dengan opsi profil pemuat data; dan langkah kesembilan, kesepuluh, dan kesebelas dengan opsi profil Python. 

Untuk menemukan opsi konfigurasi profil yang tersedia, pengaturan parameter default, dan contoh cara mengonfigurasinya, lihat [Pemantauan sistem default dan pembuatan profil kerangka kerja yang disesuaikan dengan opsi pembuatan profil yang berbeda](debugger-configure-framework-profiling-options.md) dan [SageMaker Debugger APIs — FrameworkProfile](https://sagemaker.readthedocs.io/en/stable/api/training/debugger.html#sagemaker.debugger.FrameworkProfile) di Amazon [Python SageMaker ](https://sagemaker.readthedocs.io/en/stable) SDK.

Jika Anda ingin mengubah interval pemantauan sistem dan mengaktifkan profil kerangka kerja default, Anda dapat menentukan `system_monitor_interval_millis` parameter secara eksplisit dengan parameter. `framework_profile_params` Misalnya, untuk memantau setiap 1000 milidetik dan mengaktifkan profil kerangka kerja default, gunakan kode contoh berikut.

```
from sagemaker.debugger import ProfilerConfig, FrameworkProfile
    
profiler_config=ProfilerConfig(
    system_monitor_interval_millis=1000,
    framework_profile_params=FrameworkProfile()
)
```

Untuk informasi selengkapnya tentang `FrameworkProfile` kelas, lihat [SageMaker Debugger APIs — FrameworkProfile](https://sagemaker.readthedocs.io/en/stable/api/training/debugger.html#sagemaker.debugger.FrameworkProfile) di Amazon [Python SageMaker ](https://sagemaker.readthedocs.io/en/stable) SDK.

# Pemantauan sistem default dan pembuatan profil kerangka kerja yang disesuaikan untuk langkah target atau rentang waktu target
<a name="debugger-configure-framework-profiling-range"></a>

Jika Anda ingin menentukan langkah target atau interval waktu target untuk membuat profil pekerjaan pelatihan Anda, Anda perlu menentukan parameter untuk `FrameworkProfile` kelas. Contoh kode berikut menunjukkan cara menentukan rentang target untuk pembuatan profil bersama dengan pemantauan sistem.
+ **Untuk rentang langkah target**

  Dengan konfigurasi contoh berikut, Debugger memantau seluruh pekerjaan pelatihan setiap 500 milidetik (pemantauan default) dan profil rentang langkah target dari langkah 5 hingga langkah 15 (untuk 10 langkah).

  ```
  from sagemaker.debugger import ProfilerConfig, FrameworkProfile
      
  profiler_config=ProfilerConfig(
      framework_profile_params=FrameworkProfile(start_step=5, num_steps=10)
  )
  ```

  Dengan konfigurasi contoh berikut, Debugger memantau seluruh pekerjaan pelatihan setiap 1000 milidetik dan profil rentang langkah target dari langkah 5 hingga langkah 15 (untuk 10 langkah).

  ```
  from sagemaker.debugger import ProfilerConfig, FrameworkProfile
      
  profiler_config=ProfilerConfig(
      system_monitor_interval_millis=1000,
      framework_profile_params=FrameworkProfile(start_step=5, num_steps=10)
  )
  ```
+ **Untuk rentang waktu target**

  Dengan konfigurasi contoh berikut, Debugger memantau seluruh pekerjaan pelatihan setiap 500 milidetik (pemantauan default) dan profil rentang waktu target dari waktu Unix saat ini selama 600 detik.

  ```
  import time
  from sagemaker.debugger import ProfilerConfig, FrameworkProfile
  
  profiler_config=ProfilerConfig(
      framework_profile_params=FrameworkProfile(start_unix_time=int(time.time()), duration=600)
  )
  ```

  Dengan konfigurasi contoh berikut, Debugger memantau seluruh pekerjaan pelatihan setiap 1000 milidetik dan profil rentang waktu target dari waktu Unix saat ini selama 600 detik.

  ```
  import time
  from sagemaker.debugger import ProfilerConfig, FrameworkProfile
  
  profiler_config=ProfilerConfig(
      system_monitor_interval_millis=1000,
      framework_profile_params=FrameworkProfile(start_unix_time=int(time.time()), duration=600)
  )
  ```

  Pembuatan profil kerangka kerja dilakukan untuk semua opsi pembuatan profil pada langkah target atau rentang waktu. 

  Untuk menemukan informasi selengkapnya tentang opsi pembuatan profil yang tersedia, lihat [SageMaker Debugger APIs — FrameworkProfile](https://sagemaker.readthedocs.io/en/stable/api/training/debugger.html#sagemaker.debugger.FrameworkProfile) di Amazon [Python SageMaker ](https://sagemaker.readthedocs.io/en/stable) SDK.

  Bagian selanjutnya menunjukkan kepada Anda cara membuat skrip opsi profil yang tersedia.

# Pemantauan sistem default dan pembuatan profil kerangka kerja yang disesuaikan dengan opsi pembuatan profil yang berbeda
<a name="debugger-configure-framework-profiling-options"></a>

Bagian ini memberikan informasi tentang kelas konfigurasi profiling yang didukung, serta konfigurasi contoh. Anda dapat menggunakan kelas konfigurasi profiling berikut untuk mengelola opsi pembuatan profil kerangka kerja:
+ [DetailedProfilingConfig](https://sagemaker.readthedocs.io/en/stable/api/training/debugger.html#sagemaker.debugger.DetailedProfilingConfig)— Tentukan langkah target atau rentang waktu untuk operasi kerangka profil menggunakan profiler kerangka kerja asli (profiler dan TensorFlow PyTorch profiler). Misalnya, jika menggunakan TensorFlow, kait Debugger memungkinkan TensorFlow profiler untuk mengumpulkan TensorFlow metrik kerangka kerja khusus. Pembuatan profil terperinci memungkinkan Anda untuk membuat profil semua operator kerangka kerja pada tahap awal (sebelum langkah pertama), dalam beberapa langkah, dan di antara langkah-langkah pekerjaan pelatihan.
**catatan**  
Profil terperinci dapat secara signifikan meningkatkan konsumsi memori GPU. Kami tidak menyarankan untuk mengaktifkan profil terperinci selama lebih dari beberapa langkah.
+ [DataloaderProfilingConfig](https://sagemaker.readthedocs.io/en/stable/api/training/debugger.html#sagemaker.debugger.DataloaderProfilingConfig)— Tentukan langkah target atau rentang waktu untuk membuat profil proses pemuat data kerangka pembelajaran mendalam. Debugger mengumpulkan setiap peristiwa pemuat data dari kerangka kerja.
**catatan**  
Pembuatan profil pemuat data dapat menurunkan kinerja pelatihan sambil mengumpulkan informasi dari pemuat data. Kami tidak menyarankan untuk mengaktifkan profil pemuat data selama lebih dari beberapa langkah.  
Debugger telah dikonfigurasi sebelumnya untuk membuat anotasi proses pemuat data hanya untuk wadah pembelajaran mendalam. AWS Debugger tidak dapat memprofilkan proses pemuat data dari wadah pelatihan khusus atau eksternal lainnya.
+ [PythonProfilingConfig](https://sagemaker.readthedocs.io/en/stable/api/training/debugger.html#sagemaker.debugger.PythonProfilingConfig)— Tentukan langkah target atau rentang waktu untuk memprofilkan fungsi Python. Anda juga dapat memilih antara dua profiler Python: CProfile dan Pyinstrument.
  + *CProfile — Profiler* Python standar. cProfile mengumpulkan informasi untuk setiap operator Python yang dipanggil selama pelatihan. Dengan CProfile, Debugger menghemat waktu kumulatif dan anotasi untuk setiap panggilan fungsi, memberikan detail lengkap tentang fungsi Python. Dalam pembelajaran mendalam, misalnya, fungsi yang paling sering disebut mungkin adalah filter convolutional dan operator backward pass, dan profil CProfile masing-masing. Untuk opsi CProfile, Anda dapat memilih opsi timer lebih lanjut: total waktu, waktu CPU, dan waktu off-CPU. Meskipun Anda dapat membuat profil setiap panggilan fungsi yang dijalankan pada prosesor (baik CPU dan GPU) dalam waktu CPU, Anda juga dapat mengidentifikasi I/O atau kemacetan jaringan dengan opsi waktu off-CPU. Defaultnya adalah total waktu, dan Debugger memprofilkan waktu CPU dan off-CPU. Dengan CProfile, Anda dapat menelusuri setiap fungsi saat menganalisis data profil.
  + *Pyinstrument* — Pyinstrument adalah profiler Python overhead rendah yang bekerja berdasarkan pengambilan sampel. Dengan opsi Pyinstrument, Debugger mengambil sampel pembuatan profil peristiwa setiap milidetik. Karena Pyinstrument mengukur waktu jam dinding yang telah berlalu alih-alih waktu CPU, opsi Pyinstrument dapat menjadi pilihan yang lebih baik daripada opsi CProfile untuk mengurangi kebisingan profil (menyaring panggilan fungsi yang tidak relevan yang secara kumulatif cepat) dan menangkap operator yang sebenarnya komputasi intensif (secara kumulatif lambat) untuk melatih model Anda. Dengan Pyinstrument, Anda dapat melihat pohon panggilan fungsi dan lebih memahami struktur dan akar penyebab kelambatan.
**catatan**  
Mengaktifkan pembuatan profil Python dapat memperlambat waktu pelatihan secara keseluruhan. cProfile memprofilkan operator Python yang paling sering disebut di setiap panggilan, sehingga waktu pemrosesan pada pembuatan profil meningkat sehubungan dengan jumlah panggilan. Untuk Pyinstrument, waktu pembuatan profil kumulatif meningkat sehubungan dengan waktu karena mekanisme pengambilan sampelnya.

Contoh konfigurasi berikut menunjukkan struktur lengkap saat Anda menggunakan opsi profil yang berbeda dengan nilai yang ditentukan.

```
import time
from sagemaker.debugger import (ProfilerConfig, 
                                FrameworkProfile, 
                                DetailedProfilingConfig, 
                                DataloaderProfilingConfig, 
                                PythonProfilingConfig,
                                PythonProfiler, cProfileTimer)

profiler_config=ProfilerConfig(
    system_monitor_interval_millis=500,
    framework_profile_params=FrameworkProfile(
        detailed_profiling_config=DetailedProfilingConfig(
            start_step=5, 
            num_steps=1
        ),
        dataloader_profiling_config=DataloaderProfilingConfig(
            start_step=7, 
            num_steps=1
        ),
        python_profiling_config=PythonProfilingConfig(
            start_step=9, 
            num_steps=1, 
            python_profiler=PythonProfiler.CPROFILE, 
            cprofile_timer=cProfileTimer.TOTAL_TIME
        )
    )
)
```

Untuk informasi selengkapnya tentang opsi pembuatan profil yang tersedia, lihat [DetailedProfilingConfig[DataloaderProfilingConfig](https://sagemaker.readthedocs.io/en/stable/api/training/debugger.html#sagemaker.debugger.DataloaderProfilingConfig)](https://sagemaker.readthedocs.io/en/stable/api/training/debugger.html#sagemaker.debugger.DetailedProfilingConfig), dan [PythonProfilingConfig](https://sagemaker.readthedocs.io/en/stable/api/training/debugger.html#sagemaker.debugger.PythonProfilingConfig)di [Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable).

# Memperbarui pemantauan sistem Debugger dan konfigurasi profil kerangka kerja saat pekerjaan pelatihan sedang berjalan
<a name="debugger-update-monitoring-profiling"></a>

Jika Anda ingin mengaktifkan atau memperbarui konfigurasi pemantauan Debugger untuk pekerjaan pelatihan yang sedang berjalan, gunakan metode ekstensi estimator SageMaker AI berikut:
+ Untuk mengaktifkan pemantauan sistem Debugger untuk pekerjaan pelatihan yang sedang berjalan dan menerima laporan pembuatan profil Debugger, gunakan yang berikut ini:

  ```
  estimator.enable_default_profiling()
  ```

  Saat Anda menggunakan `enable_default_profiling` metode ini, Debugger memulai pemantauan sistem default dan aturan `ProfileReport` bawaan, yang menghasilkan laporan profil komprehensif di akhir pekerjaan pelatihan. Metode ini hanya dapat dipanggil jika pekerjaan pelatihan saat ini berjalan tanpa pemantauan dan pembuatan profil Debugger.

  [Untuk informasi selengkapnya, lihat [estimator.enable\$1default\$1profiling](https://sagemaker.readthedocs.io/en/stable/api/training/estimators.html#sagemaker.estimator.Estimator.enable_default_profiling) di Amazon Python SDK. SageMaker ](https://sagemaker.readthedocs.io/en/stable)
+ Untuk memperbarui konfigurasi pemantauan sistem, gunakan yang berikut ini:

  ```
  estimator.update_profiler(
      system_monitor_interval_millis=500
  )
  ```

  [Untuk informasi selengkapnya, lihat [estimator.update\$1profiler](https://sagemaker.readthedocs.io/en/stable/api/training/estimators.html#sagemaker.estimator.Estimator.update_profiler) di Amazon Python SDK. SageMaker ](https://sagemaker.readthedocs.io/en/stable)

# Matikan Debugger
<a name="debugger-turn-off-profiling"></a>

Jika Anda ingin mematikan Debugger sepenuhnya, lakukan salah satu hal berikut:
+ Sebelum memulai pekerjaan pelatihan, lakukan hal berikut:

  Untuk menonaktifkan pembuatan profil, sertakan `disable_profiler` parameter ke estimator Anda dan atur ke. `True`
**Awas**  
Jika menonaktifkannya, Anda tidak akan dapat melihat dasbor wawasan Studio Debugger yang komprehensif dan laporan pembuatan profil yang dibuat secara otomatis.

  Untuk mematikan debugging, atur `debugger_hook_config` parameter ke`False`.
**Awas**  
Jika Anda menonaktifkannya, Anda tidak akan dapat mengumpulkan tensor keluaran dan tidak dapat men-debug parameter model Anda.

  ```
  estimator=Estimator(
      ...
      disable_profiler=True
      debugger_hook_config=False
  )
  ```

  [Untuk informasi selengkapnya tentang parameter khusus Debugger, lihat [SageMaker AI Estimator](https://sagemaker.readthedocs.io/en/stable/api/training/estimators.html#sagemaker.estimator.Estimator) di Amazon Python SDK. SageMaker ](https://sagemaker.readthedocs.io/en/stable)
+ Saat pekerjaan pelatihan sedang berjalan, lakukan hal berikut:

  Untuk menonaktifkan pemantauan dan pembuatan profil saat tugas pelatihan Anda berjalan, gunakan metode kelas estimator berikut:

  ```
  estimator.disable_profiling()
  ```

  Untuk menonaktifkan profil kerangka kerja saja dan menjaga pemantauan sistem, gunakan `update_profiler` metode ini:

  ```
  estimator.update_profiler(disable_framework_metrics=true)
  ```

  [https://sagemaker.readthedocs.io/en/stable/api/training/estimators.html#sagemaker.estimator.Estimator.update_profiler](https://sagemaker.readthedocs.io/en/stable/api/training/estimators.html#sagemaker.estimator.Estimator.update_profiler)