

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

# Akses data statistik profil Python
<a name="debugger-access-data-python-profiling"></a>

**catatan**  
Pemberitahuan akhir dukungan: Pada 30 Juni 2027, dukungan untuk Amazon SageMaker Profiler AWS akan berakhir. Setelah 30 Juni 2027, Anda tidak akan lagi dapat mengakses konsol Profiler atau sumber daya Profiler. Untuk informasi selengkapnya, lihat [Perubahan ketersediaan profiler](profiler-availability-change.md).

Profil Python menyediakan metrik kerangka kerja yang terkait dengan fungsi dan operator Python dalam skrip pelatihan Anda dan kerangka kerja pembelajaran mendalam SageMaker AI. 

<a name="debugger-access-data-python-profiling-modes"></a>**Mode dan Fase Pelatihan untuk Profil Python **

Untuk membuat profil interval tertentu selama pelatihan untuk mempartisi statistik untuk masing-masing interval ini, Debugger menyediakan alat untuk mengatur mode dan fase. 

Untuk mode pelatihan, gunakan `PythonProfileModes` kelas berikut:

```
from smdebug.profiler.python_profile_utils import PythonProfileModes
```

Kelas ini menyediakan opsi berikut:
+ `PythonProfileModes.TRAIN`— Gunakan jika Anda ingin membuat profil langkah-langkah target dalam fase pelatihan. Opsi mode ini hanya tersedia untuk TensorFlow.
+ `PythonProfileModes.EVAL`— Gunakan jika Anda ingin membuat profil langkah-langkah target dalam fase evaluasi. Opsi mode ini hanya tersedia untuk TensorFlow.
+ `PythonProfileModes.PREDICT`— Gunakan jika Anda ingin membuat profil langkah-langkah target dalam fase prediksi. Opsi mode ini hanya tersedia untuk TensorFlow.
+ `PythonProfileModes.GLOBAL`— Gunakan jika Anda ingin membuat profil langkah-langkah target dalam fase global, yang mencakup tiga fase sebelumnya. Opsi mode ini hanya tersedia untuk PyTorch.
+ `PythonProfileModes.PRE_STEP_ZERO`— Gunakan jika Anda ingin membuat profil langkah-langkah target dalam tahap inisialisasi sebelum langkah pelatihan pertama dari zaman pertama dimulai. Fase ini mencakup pengiriman pekerjaan awal, mengunggah skrip pelatihan ke instans EC2, menyiapkan instans EC2, dan mengunduh data input. Opsi mode ini tersedia untuk keduanya TensorFlow dan PyTorch.
+ `PythonProfileModes.POST_HOOK_CLOSE`— Gunakan jika Anda ingin membuat profil langkah-langkah target pada tahap finalisasi setelah pekerjaan pelatihan selesai dan kait Debugger ditutup. Fase ini mencakup data profil sementara pekerjaan pelatihan diselesaikan dan diselesaikan. Opsi mode ini tersedia untuk keduanya TensorFlow dan PyTorch.

<a name="debugger-access-data-python-profiling-phases"></a>Untuk fase pelatihan, gunakan `StepPhase` kelas berikut:

```
from smdebug.profiler.analysis.utils.python_profile_analysis_utils import StepPhase
```

Kelas ini menyediakan opsi berikut:
+ `StepPhase.START`- Gunakan untuk menentukan titik awal fase inisialisasi.
+ `StepPhase.STEP_START`— Gunakan untuk menentukan langkah awal dari fase pelatihan.
+ `StepPhase.FORWARD_PASS_END`— Gunakan untuk menentukan langkah-langkah di mana pass maju berakhir. Opsi ini hanya tersedia untuk PyTorch.
+ `StepPhase.STEP_END`— Gunakan untuk menentukan langkah akhir dalam fase pelatihan. Opsi ini hanya tersedia untuk TensorFlow.
+ `StepPhase.END`— Gunakan untuk menentukan titik akhir fase finalisasi (post-hook-close). Jika hook callback tidak ditutup, pembuatan profil fase finalisasi tidak terjadi.

**Alat Analisis Profil Python **

Debugger mendukung pembuatan profil Python dengan dua alat pembuatan profil:
+ CProfile — Profiler python standar. cProfile mengumpulkan metrik kerangka kerja pada waktu CPU untuk setiap fungsi yang dipanggil saat pembuatan profil diaktifkan.
+ Pyinstrument — Ini adalah peristiwa profil pengambilan sampel profiler Python overhead rendah setiap milidetik.

Untuk mempelajari lebih lanjut tentang opsi pembuatan profil Python dan apa yang dikumpulkan, lihat[Pemantauan sistem default dan profil kerangka kerja yang disesuaikan dengan opsi profil yang berbeda](debugger-configure-framework-profiling-options.md).

Metode berikut dari `PyinstrumentAnalysis` kelas`PythonProfileAnalysis`,`cProfileAnalysis`, disediakan untuk mengambil dan menganalisis data profil Python. Setiap fungsi memuat data terbaru dari URI S3 default.

```
from smdebug.profiler.analysis.python_profile_analysis import PythonProfileAnalysis, cProfileAnalysis, PyinstrumentAnalysis
```

Untuk mengatur objek profil Python untuk analisis, gunakan c ProfileAnalysis atau PyinstrumentAnalysis kelas seperti yang ditunjukkan dalam kode contoh berikut. Ini menunjukkan cara mengatur `cProfileAnalysis` objek, dan jika Anda ingin menggunakan`PyinstrumentAnalysis`, ganti nama kelas.

```
python_analysis = cProfileAnalysis(
    local_profile_dir=tf_python_stats_dir, 
    s3_path=tj.profiler_s3_output_path
)
```

Metode berikut tersedia untuk `PyinstrumentAnalysis` kelas `cProfileAnalysis` dan untuk mengambil data statistik profil Python:
+ `python_analysis.fetch_python_profile_stats_by_time(start_time_since_epoch_in_secs, end_time_since_epoch_in_secs)`— Mengambil waktu mulai dan waktu akhir, dan mengembalikan statistik fungsi statistik langkah yang waktu mulai atau berakhirnya tumpang tindih dengan interval yang disediakan.
+ `python_analysis.fetch_python_profile_stats_by_step(start_step, end_step, mode, start_phase, end_phase)`— Mengambil langkah awal dan langkah akhir dan mengembalikan statistik fungsi dari semua statistik langkah yang diprofilkannya `step` memuaskan`start_step <= step < end_step`. 
  + `start_step`dan `end_step` (str) — Tentukan langkah awal dan langkah akhir untuk mengambil data statistik profil Python.
  + `mode`(str) — Tentukan mode pekerjaan pelatihan menggunakan kelas `PythonProfileModes` enumerator. Nilai default-nya `PythonProfileModes.TRAIN`. Opsi yang tersedia disediakan di Mode [ Pelatihan dan Fase untuk Profil Python ](#debugger-access-data-python-profiling-modes) bagian.
  + `start_phase`(str) — Tentukan fase awal pada langkah target menggunakan kelas `StepPhase` enumerator. Parameter ini memungkinkan pembuatan profil antara fase pelatihan yang berbeda. Nilai default-nya `StepPhase.STEP_START`. Opsi yang tersedia disediakan di Mode [ Pelatihan dan Fase untuk Profil Python ](#debugger-access-data-python-profiling-phases) bagian.
  + `end_phase`(str) — Tentukan fase akhir pada langkah target menggunakan kelas `StepPhase` enumerator. Parameter ini mengatur fase akhir pelatihan. Opsi yang tersedia sama dengan yang untuk `start_phase` parameter. Nilai default-nya `StepPhase.STEP_END`. Opsi yang tersedia disediakan di Mode [ Pelatihan dan Fase untuk Profil Python ](#debugger-access-data-python-profiling-phases) bagian.
+ `python_analysis.fetch_profile_stats_between_modes(start_mode, end_mode)`— Mengambil statistik dari profil Python antara mode awal dan akhir.
+ `python_analysis.fetch_pre_step_zero_profile_stats()`— Mengambil statistik dari profil Python hingga langkah 0.
+ `python_analysis.fetch_post_hook_close_profile_stats()`— Mengambil statistik dari profil Python setelah hook ditutup.
+ `python_analysis.list_profile_stats()`— Meng DataFrame embalikan statistik profil Python. Setiap baris menyimpan metadata untuk setiap contoh profil dan file statistik yang sesuai (satu per langkah).
+ `python_analysis.list_available_node_ids()`— Mengembalikan daftar ID node yang tersedia untuk statistik profil Python.

Metode khusus `cProfileAnalysis` kelas:
+  `fetch_profile_stats_by_training_phase()`— Mengambil dan menggabungkan statistik profil Python untuk setiap kemungkinan kombinasi mode awal dan akhir. Misalnya, jika fase pelatihan dan validasi dilakukan saat profil terperinci diaktifkan, kombinasinya adalah`(PRE_STEP_ZERO, TRAIN)`,`(TRAIN, TRAIN)`,`(TRAIN, EVAL)`,`(EVAL, EVAL)`, dan`(EVAL, POST_HOOK_CLOSE)`. Semua file statistik dalam masing-masing kombinasi ini digabungkan.
+  `fetch_profile_stats_by_job_phase()`— Mengambil dan menggabungkan statistik profil Python berdasarkan fase pekerjaan. Fase pekerjaan adalah `initialization` (pembuatan profil hingga langkah 0), `training_loop` (pelatihan dan validasi), dan `finalization` (pembuatan profil setelah kait ditutup).