Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Membuat profil pemuat data
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.
Di PyTorch, iterator pemuat data, seperti SingleProcessingDataLoaderIter danMultiProcessingDataLoaderIter, dimulai pada awal setiap iterasi pada dataset. Selama fase inisialisasi, mengaktifkan PyTorch proses pekerja tergantung pada jumlah pekerja yang dikonfigurasi, menetapkan antrian data untuk mengambil data dan pin_memory utas.
Untuk menggunakan alat analisis profil pemuat PyTorch data, impor PT_dataloader_analysis kelas berikut:
from smdebug.profiler.analysis.utils.pytorch_dataloader_analysis import PT_dataloader_analysis
Meneruskan data profil yang diambil sebagai objek data bingkai Pandas di Akses data profil menggunakan alat penguraian data panda bagian:
pt_analysis = PT_dataloader_analysis(pf)
Fungsi berikut tersedia untuk pt_analysis objek:
Kelas SMDebug S3SystemMetricsReader membaca metrik sistem dari bucket S3 yang ditentukan ke parameter. s3_trial_path
-
pt_analysis.analyze_dataloaderIter_initialization()Analisis menghasilkan durasi median dan maksimum untuk inisialisasi ini. Jika ada outlier, (yaitu durasi lebih besar dari 2 * median), fungsi mencetak waktu mulai dan akhir untuk durasi tersebut. Ini dapat digunakan untuk memeriksa metrik sistem selama interval waktu tersebut.
Daftar berikut menunjukkan analisis apa yang tersedia dari metode kelas ini:
-
Jenis iterator pemuat data mana yang diinisialisasi.
-
Jumlah pekerja per iterator.
-
Periksa apakah iterator diinisialisasi dengan atau tanpa pin_memory.
-
Berapa kali iterator diinisialisasi selama pelatihan.
-
-
pt_analysis.analyze_dataloaderWorkers()Daftar berikut menunjukkan analisis apa yang tersedia dari metode kelas ini:
-
Jumlah proses pekerja yang dipisahkan selama seluruh pelatihan.
-
Durasi median dan maksimum untuk proses pekerja.
-
Waktu mulai dan berakhir untuk proses pekerja yang merupakan outlier.
-
-
pt_analysis.analyze_dataloader_getnext()Daftar berikut menunjukkan analisis apa yang tersedia dari metode kelas ini:
-
Jumlah GetNext panggilan yang dilakukan selama pelatihan.
-
Durasi median dan maksimum dalam mikrodetik untuk GetNext panggilan.
-
Waktu mulai, Waktu akhir, durasi, dan id pekerja untuk durasi GetNext panggilan outlier.
-
-
pt_analysis.analyze_batchtime(start_timestamp, end_timestamp, select_events=[".*"], select_dimensions=[".*"])Debugger mengumpulkan waktu mulai dan akhir dari semua GetNext panggilan. Anda dapat menemukan jumlah waktu yang dihabiskan oleh skrip pelatihan pada satu kumpulan data. Dalam jendela waktu yang ditentukan, Anda dapat mengidentifikasi panggilan yang tidak secara langsung berkontribusi pada pelatihan. Panggilan ini dapat berasal dari operasi berikut: menghitung akurasi, menambahkan kerugian untuk tujuan debugging atau logging, dan mencetak informasi debugging. Operasi seperti ini dapat bersifat komputasi intensif atau memakan waktu. Kami dapat mengidentifikasi operasi tersebut dengan menghubungkan profiler Python, metrik sistem, dan metrik kerangka kerja.
Daftar berikut menunjukkan analisis apa yang tersedia dari metode kelas ini:
-
Profil waktu yang dihabiskan pada setiap kumpulan data
BatchTime_in_seconds,, dengan menemukan perbedaan antara waktu mulai GetNext panggilan saat ini dan selanjutnya. -
Temukan outlier di dan waktu mulai
BatchTime_in_secondsdan akhir untuk outlier tersebut. -
Dapatkan metrik sistem dan kerangka kerja selama stempel waktu
BatchTime_in_secondstersebut. Ini menunjukkan di mana waktu dihabiskan.
-
-
pt_analysis.plot_the_window()Memplot bagan garis waktu antara stempel waktu awal dan stempel waktu akhir.