Membuat profil pemuat data - Amazon SageMaker AI

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

Membuat profil pemuat data

Pada tahun PyTorch, iterator pemuat data, seperti SingleProcessingDataLoaderIter danMultiProcessingDataLoaderIter, dimulai pada awal setiap iterasi melalui kumpulan data. Selama fase inisialisasi, PyTorch mengaktifkan proses pekerja tergantung pada jumlah pekerja yang dikonfigurasi, menetapkan antrian data untuk mengambil data dan utas. pin_memory

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

Lulus data profil yang diambil sebagai objek data bingkai Pandas di bagian: Akses data profil menggunakan alat parsing data panda

pt_analysis = PT_dataloader_analysis(pf)

Fungsi-fungsi berikut tersedia untuk pt_analysis objek:

SMDebugS3SystemMetricsReaderKelas membaca metrik sistem dari bucket S3 yang ditentukan ke parameter. s3_trial_path

  • pt_analysis.analyze_dataloaderIter_initialization()

    Analisis menghasilkan median dan durasi 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 apa 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 diputar selama seluruh pelatihan.

    • Durasi rata-rata 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.

    • Median dan durasi maksimum dalam mikrodetik untuk GetNext panggilan.

    • Waktu mulai, Waktu berakhir, 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 berakhir dari semua panggilan. GetNext 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 dihitung secara 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:

    • Waktu profil yang dihabiskan untuk setiap kumpulan dataBatchTime_in_seconds,, dengan menemukan perbedaan antara waktu mulai GetNext panggilan saat ini dan berikutnya.

    • Temukan outlier di dalam BatchTime_in_seconds dan waktu mulai dan berakhir untuk outlier tersebut.

    • Dapatkan metrik sistem dan kerangka kerja selama stempel waktu tersebutBatchTime_in_seconds. Ini menunjukkan di mana waktu dihabiskan.

  • pt_analysis.plot_the_window()

    Plot bagan garis waktu antara stempel waktu awal dan stempel waktu akhir.