Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Gabungkan garis waktu beberapa file pelacakan profil
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.
Pustaka klien SMDebug menyediakan analisis profil dan alat visualisasi untuk menggabungkan garis waktu metrik sistem, metrik kerangka kerja, dan data profil Python yang dikumpulkan oleh Debugger.
Tip
Sebelum melanjutkan, Anda perlu mengatur TrainingJob objek yang akan digunakan di seluruh contoh di halaman ini. Untuk informasi selengkapnya tentang menyiapkan TrainingJob objek, lihatAkses data profil.
Kel MergedTimeline as menyediakan alat untuk mengintegrasikan dan mengkorelasikan informasi profil yang berbeda dalam satu garis waktu. Setelah Debugger menangkap data profil dan anotasi dari berbagai fase pekerjaan pelatihan, file JSON dari peristiwa pelacakan disimpan dalam direktori defaulttracefolder.
-
Untuk anotasi di lapisan Python, file jejak disimpan di
*pythontimeline.json. -
Untuk anotasi di lapisan TensorFlow C++, file jejak disimpan di
*model_timeline.json. -
Tensorflow profiler menyimpan peristiwa dalam file.
*trace.json.gz
Tip
Jika Anda ingin mencantumkan semua file jejak JSON, gunakan AWS CLI perintah berikut:
! aws s3 ls {tj.profiler_s3_output_path} --recursive | grep '\.json$'
Seperti yang ditunjukkan pada tangkapan layar animasi berikut, menempatkan dan menyelaraskan peristiwa jejak yang diambil dari sumber profil yang berbeda dalam satu plot dapat memberikan gambaran umum tentang seluruh peristiwa yang terjadi dalam fase yang berbeda dari pekerjaan pelatihan.
Tip
Untuk berinteraksi dengan garis waktu gabungan pada aplikasi traicing menggunakan keyboard, gunakan W tombol untuk memperbesar, A tombol untuk menggeser ke kiri, S tombol untuk memperkecil, dan D tombol untuk menggeser ke kanan.
Beberapa file JSON jejak peristiwa dapat digabungkan menjadi satu file JSON peristiwa jejak menggunakan operasi MergedTimeline API berikut dan metode kelas dari smdebug.profiler.analysis.utils.merge_timelines modul.
from smdebug.profiler.analysis.utils.merge_timelines import MergedTimeline combined_timeline = MergedTimeline(path, file_suffix_filter, output_directory) combined_timeline.merge_timeline(start, end, unit)
Oper MergedTimeline asi API melewati parameter berikut:
-
path(str) — Tentukan folder root (/profiler-output) yang berisi file jejak profil sistem dan kerangka kerja. Anda dapat menemukanprofiler-outputmenggunakan ModelTrainer metode kelas SageMaker AI atau TrainingJob objek. Misalnya,model_trainer.latest_job_profiler_artifacts_path()atautj.profiler_s3_output_path. -
file_suffix_filter(list) — Tentukan daftar filter akhiran file untuk menggabungkan garis waktu. Filter suffiex yang tersedia adalah["model_timeline.json", "pythontimeline.json", "trace.json.gz"].Jika parameter ini tidak ditentukan secara manual, semua file jejak digabungkan secara default. -
output_directory(str) — Tentukan jalur untuk menyimpan file JSON timeline gabungan. Defaultnya adalah direktori yang ditentukan untukpathparameter.
merge_timeline()Metode kelas melewati parameter berikut untuk menjalankan proses penggabungan:
-
start(int) - Tentukan waktu mulai (dalam mikrodetik dan dalam format waktu Unix) atau langkah awal untuk menggabungkan garis waktu. -
end(int) - Tentukan waktu akhir (dalam mikrodetik dan dalam format waktu Unix) atau langkah akhir untuk menggabungkan garis waktu. -
unit(str) — Pilih antara"time"dan"step". Nilai default-nya"time".
Menggunakan kode contoh berikut, jalankan merge_timeline() metode dan unduh file JSON yang digabungkan.
-
Gabungkan timeline dengan opsi
"time"unit. Kode contoh berikut menggabungkan semua file jejak yang tersedia antara waktu mulai Unix (waktu Unix nol mutlak) dan waktu Unix saat ini, yang berarti Anda dapat menggabungkan garis waktu untuk seluruh durasi pelatihan.import time from smdebug.profiler.analysis.utils.merge_timelines import MergedTimeline from smdebug.profiler.profiler_constants import CONVERT_TO_MICROSECS combined_timeline = MergedTimeline(tj.profiler_s3_output_path, output_directory="./") combined_timeline.merge_timeline(0, int(time.time() * CONVERT_TO_MICROSECS)) -
Gabungkan timeline dengan opsi
"step"unit. Kode contoh berikut menggabungkan semua garis waktu yang tersedia antara langkah 3 dan langkah 9.from smdebug.profiler.analysis.utils.merge_timelines import MergedTimeline combined_timeline = MergedTimeline(tj.profiler_s3_output_path, output_directory="./") combined_timeline.merge_timeline(3,9, unit="step")
Buka aplikasi pelacakan Chrome chrome://tracing di browser Chrome, dan buka file JSON. Anda dapat menjelajahi output untuk memplot garis waktu yang digabungkan.