Membuat profil model di VM Cloud TPU

Pembuatan profil memungkinkan Anda mengoptimalkan performa pelatihan model di Cloud TPU. Anda menggunakan TensorBoard dan plugin Cloud TPU TensorBoard untuk membuat profil model.

Untuk mengetahui informasi selengkapnya tentang cara menggunakan TensorBoard dengan salah satu framework yang didukung, lihat dokumen berikut:

Prasyarat untuk membuat profil skrip pelatihan

Sebelum menggunakan alat pembuatan profil TPU, Anda perlu:

  1. Memulai sesi pelatihan model

    1. Siapkan TPU v4-8 untuk melatih model. Prosedur pembuatan profil yang dijelaskan dalam dokumen ini menggunakan model ResNet, tetapi Anda dapat menggunakan model lain asalkan berlatih di TPU v4.
    2. Di VM TPU, tambahkan baris untuk memulai server profiler ke skrip pelatihan.

      Untuk pelatihan ResNET, skrip pelatihan berada di: /usr/share/tpu/tensorflow/resnet50_keras/resnet50.py.

      Masukkan baris yang ditandai ke dalam resnet50.py. Di bagian atas file, tambahkan impor berikut:

      import tensorflow.compat.v2 as tf2
      

      Tepat sebelum skrip memulai loop pelatihan, tambahkan baris yang ditandai:

      if name == 'main':
       tf.logging.set_verbosity(tf.logging.INFO)
       tf2.profiler.experimental.server.start(6000)
       app.run(main)
      

      Server profiler TensorFlow dimulai di VM TPU saat Anda menjalankan skrip.

    3. Mulai pelatihan model.

      Jalankan skrip pelatihan dan tunggu hingga Anda melihat output yang menunjukkan bahwa model Anda aktif berlatih. Output-nya bergantung pada kode dan model Anda. Cari output seperti Epoch 1/100. Atau, Anda dapat membuka halaman Cloud TPU di Konsol Google Cloud, memilih TPU, dan melihat grafik pemakaian CPU. Meskipun grafik pemakaian CPU tidak menunjukkan pemakaian TPU, hal ini merupakan indikasi yang baik bahwa TPU melatih model Anda.

Memulai pembuatan profil pelatihan model

Saat model sedang dilatih, buka jendela terminal atau Cloud Shell yang terpisah. Gunakan langkah-langkah berikut untuk memulai pembuatan profil pelatihan model.

  1. Di jendela atau shell baru, hubungkan ke VM TPU Anda dengan penerusan port.

    gcloud compute tpus tpu-vm ssh your-vm --zone=us-central2-b --ssh-flag="-4 -L 9001:localhost:9001"

    Penerusan port memungkinkan browser lokal berkomunikasi dengan server TensorBoard yang berjalan di VM TPU.

  2. Instal persyaratan TensorFlow {: id="install-tensorboard"}.

    VM TPU Anda telah menginstal TensorBoard secara default. Anda juga dapat menginstal TensorFlow secara manual. Apa pun itu, beberapa dependensi tambahan mungkin diperlukan. Instal dependensi ini di VM TPU dengan menjalankan:

    pip3 install -r /usr/share/tpu/models/official/requirements.txt
  3. Instal Plugin Cloud TPU TensorBoard {: id="install-plugin"}.

    Dari VM TPU, jalankan perintah berikut:

     pip3 install --upgrade "cloud-tpu-profiler>=2.3.0"
     pip3 install tensorflow
     pip3 install tensorboard_plugin_profile
  4. Memulai server TensorBoard

    Jalankan TensorBoard dan buat direktori log (logdir) di VM TPU tempat TensorBoard dapat menulis data pembuatan profil. Tentukan direktori log menggunakan flag --logdir. Contoh:

    mkdir log-directory
    TPU_LOAD_LIBRARY=0 tensorboard --logdir log-directory --port 9001

TensorBoard memulai server web dan menampilkan URL-nya:

Serving TensorBoard on localhost; to expose to the network, use a proxy or pass --bind_all
TensorBoard 2.3.0 at http://localhost:9001 (Press CTRL+C to quit)

Buka browser web dan buka URL yang ditampilkan di output TensorBoard. Pilih Profil dari menu drop-down di kanan atas halaman TensorBoard. Daftar alat pembuatan profil yang tersedia ditampilkan dalam menu pulldown tools di sidebar kiri.

gambar

Mengambil profil di VM TPU

  1. Pilih tombol CAPTURE PROFILE.
  2. Pilih tombol pilihan Alamat IP.
  3. Ketik HOSTNAME:6000 di kolom Profile Service URL.
  4. Pilih tombol CAPTURE.

gambar

Melihat data profil dengan TensorBoard

Setelah Anda mengambil profil, TensorBoard akan menampilkan overview_page. Daftar alat pembuatan profil yang dapat Anda gunakan akan ditampilkan di panel kiri.

gambar

Profil

Tab Profil ditampilkan setelah Anda mengambil beberapa data model. Anda mungkin perlu mengklik tombol refresh di halaman TensorBoard. Setelah data tersedia, mengklik tab Profil akan menampilkan pilihan alat untuk membantu analisis performa. Anda dapat menggunakan salah satu alat berikut untuk membuat profil model Anda.

Halaman ringkasan profil

Halaman ringkasan (overview_page), yang tersedia di halaman Profil, memberikan tampilan tingkat atas tentang performa model Anda selama proses pengambilan gambar. Halaman ini menampilkan ringkasan gabungan untuk semua TPU Anda dan analisis pipeline input secara keseluruhan. Terdapat opsi untuk memilih TPU satu per satu pada menu drop-down Host.

Halaman ini menampilkan data di panel berikut:

gambar

  • Ringkasan performa

    • Pemanfaatan FLOPS - Penggunaan persentase unit matriks TPU
  • Sepuluh operasi TensorFlow teratas di TPU Menampilkan operasi TensorFlow yang paling banyak memakan waktu:

    Setiap baris menampilkan waktu mandiri operasi (sebagai persentase waktu yang dibutuhkan oleh semua operasi), waktu kumulatif, kategori, nama, dan rasio FLOPS yang dicapai.

  • Lingkungan jalankan

    • Jumlah host yang digunakan
    • Jenis TPU yang digunakan
    • Jumlah inti TPU

Penganalisis pipeline input

Penganalisis pipeline input memberikan insight tentang hasil performa Anda. Alat ini akan langsung memberi tahu Anda apakah program terikat input dan dapat memandu Anda melalui analisis perangkat dan sisi host untuk men-debug tahap pipeline mana pun yang menimbulkan bottleneck.

Lihat panduan tentang performa pipeline input untuk mendapatkan insight lebih mendalam tentang pengoptimalan performa pipeline.

Pipeline input

Saat program TensorFlow membaca data dari file, proses pembacaan dibagi menjadi beberapa tahap pemrosesan data yang terhubung secara berurutan. Output dari satu tahap adalah input untuk tahap berikutnya. Sistem pembacaan ini disebut pipeline input.

Pipeline umum untuk membaca catatan dari file memiliki tahapan berikut:

  1. Pembacaan file
  2. Prapemrosesan file (opsional)
  3. Transfer file dari mesin host ke perangkat

Pipeline input yang tidak efisien dapat sangat memperlambat aplikasi Anda. Aplikasi dianggap terikat input jika aplikasi menghabiskan banyak waktu dalam pipeline inputnya. Gunakan Penganalisis pipeline input untuk memahami di mana pipeline input tidak efisien.

Dasbor pipeline input

Untuk membuka analyzer pipeline input, pilih Profile, lalu pilih input_pipeline_analyzer dari drop-down Tools.

Dasbor menampilkan detail analisis sisi perangkat dan sisi host.

Analisis sisi perangkat - Menampilkan detail tentang waktu langkah perangkat.

  • Statistik waktu langkah perangkat
  • % waktu langkah perangkat menunggu data input

Analisis sisi host

Bagian ini menampilkan detail analisis sisi host yang dibagi menjadi beberapa kategori:

  • Mengantrekan data untuk ditransfer ke perangkat Waktu yang dihabiskan untuk memasukkan data ke dalam antrean dalam feed sebelum mentransfer data ke perangkat.
  • Pra-pemrosesan data Waktu yang dihabiskan untuk operasi pra-pemrosesan, seperti dekompresi gambar.
  • Membaca data dari file terlebih dahulu Waktu yang dihabiskan untuk membaca file, termasuk menyimpan cache, pengambilan data, dan interleaving.
  • Membaca data dari file sesuai permintaan Waktu yang dihabiskan untuk membaca data dari file tanpa caching, pengambilan data, dan interleaving.
  • Pembacaan atau pemrosesan data lainnya Waktu yang dihabiskan untuk operasi terkait input lain yang tidak menggunakan tf.data.

gambar

Untuk melihat statistik operasi input individual dan kategorinya yang dikelompokkan berdasarkan waktu eksekusi, luaskan bagian Show Input Op statistics.

Tabel data sumber seperti berikut akan muncul:

gambar

Setiap entri tabel berisi informasi berikut:

  1. Input Op Menampilkan nama operasi TensorFlow dari operasi input.
  2. Jumlah Menampilkan jumlah total instance operasi yang dieksekusi selama periode pembuatan profil.
  3. Total Waktu (dalam md) Menampilkan jumlah waktu kumulatif yang dihabiskan untuk setiap instance operasi.
  4. Total Waktu % Menampilkan total waktu yang dihabiskan pada suatu operasi sebagai pecahan dari total waktu yang dihabiskan dalam pemrosesan input.
  5. Total Waktu mandiri (dalam milidetik) Menampilkan waktu akumulasi waktu pada semua instance fungsi. Self-time mengukur waktu yang dihabiskan di dalam isi fungsi, tidak termasuk waktu yang dihabiskan dalam fungsi apa pun yang dipanggilnya. Misalnya, Iterator::PaddedBatch::Filter::ForeverRepeat::Map dipanggil oleh Iterator::PaddedBatch::Filter sehingga total waktunya dikecualikan dari total waktu mandiri yang terakhir.
  6. Total persentase waktu mandiri Menampilkan total waktu mandiri sebagai pecahan dari total waktu yang dihabiskan untuk pemrosesan input.
  7. Kategori Menampilkan kategori pemrosesan operasi input.

Profil operasi

Profil Op adalah alat Cloud TPU yang menampilkan statistik performa operasi XLA yang dijalankan selama periode pembuatan profil. Profil operasi menampilkan:

  • Seberapa baik aplikasi Anda menggunakan Cloud TPU sebagai persentase waktu yang dihabiskan untuk operasi menurut kategori dan pemanfaatan TPU FLOPS.
  • Operasi yang paling memakan waktu. Operasi tersebut adalah target potensial untuk dioptimalkan.
  • Detail setiap operasi, termasuk bentuk, padding, dan ekspresi yang menggunakan operasi tersebut.

Anda dapat menggunakan profil pengoperasian guna menemukan target untuk pengoptimalan. Misalnya, Anda dapat menggunakan profil operasi untuk mengidentifikasi operasi XLA mana yang memerlukan waktu paling lama untuk dijalankan dan berapa banyak TPU FLOPS yang digunakannya.

Menggunakan profil operasi

Alat Profil Operasi berisi statistik performa operasi XLA. Anda dapat melihat data Profil Op di TensorBoard dengan mengklik tab Profile di bagian atas layar, lalu memilih op_profile dari drop-down Alat. Anda akan melihat tampilan seperti ini:

gambar

  1. Bagian Ringkasan Menampilkan penggunaan Cloud TPU dan memberikan saran untuk pengoptimalan.
  2. Panel kontrol Berisi kontrol yang memungkinkan Anda menetapkan jumlah operasi yang ditampilkan dalam tabel, operasi yang ditampilkan, dan cara pengurutannya.
  3. Tabel operasi Mencantumkan kategori operasi TensorFlow teratas yang terkait dengan operasi XLA. Operasi ini diurutkan berdasarkan persentase penggunaan Cloud TPU.
  4. Kartu detail operasi Menampilkan detail tentang operasi yang muncul saat Anda mengarahkan kursor ke operasi dalam tabel. Detail ini mencakup penggunaan FLOPS, ekspresi yang digunakan operasi, dan tata letak operasi (cocok).

Tabel Op XLA

Tabel operasi mencantumkan kategori operasi XLA dalam urutan dari persentase penggunaan Cloud TPU yang tertinggi hingga terendah. Tabel ini menunjukkan persentase waktu yang diambil, nama kategori operasi, nama operasi TensorFlow terkait, dan persentase pemanfaatan FLOPS untuk kategori tersebut. Untuk menampilkan (atau menyembunyikan) sepuluh operasi XLA yang paling memakan waktu untuk suatu kategori, klik segitiga di samping nama kategori dalam tabel.

gambar

  1. Waktu Menampilkan persentase total waktu yang dihabiskan oleh semua operasi dalam kategori tersebut. Anda dapat mengklik untuk meluaskan entri dan melihat perincian waktu yang dihabiskan oleh setiap operasi.
  2. Sepuluh Operasi Teratas Tombol di samping nama kategori akan menampilkan/menyembunyikan sepuluh operasi yang paling memakan waktu dalam kategori tersebut. Jika entri operasi fusi ditampilkan dalam daftar operasi, Anda dapat meluaskannya untuk melihat operasi non-fusi yang berisi elemen yang ada di dalamnya.
  3. TensorFlow Op Menampilkan nama operasi TensorFlow yang terkait dengan operasi XLA.
  4. FLOPS Menunjukkan pemanfaatan FLOPS, yang merupakan jumlah terukur FLOPS yang dinyatakan sebagai persentase FLOPS puncak Cloud TPU. Makin tinggi persentase penggunaan FLOPS, makin cepat operasi yang berjalan. Sel tabel diberi kode warna: hijau untuk penggunaan FLOPS tinggi (baik) dan merah untuk penggunaan FLOPS rendah (buruk).

Kartu detail operasi

Saat Anda memilih entri tabel, sebuah kartu akan muncul yang menampilkan detail tentang operasi XLA atau kategori operasi. Sebuah kartu biasanya terlihat seperti ini:

gambar

  • Name dan Category Menampilkan nama dan kategori operasi XLA yang ditandai.
  • Penggunaan FLOPS Menampilkan penggunaan FLOPS sebagai persentase total FLOPS yang dimungkinkan.
  • Ekspresi Menampilkan ekspresi XLA yang berisi operasi.
  • Memory Utilization Menampilkan persentase penggunaan memori puncak oleh program Anda.
  • Tata letak (khusus operasi Konvolusi) Menampilkan bentuk dan tata letak tensor, termasuk deskripsi padding yang dilakukan oleh compiler XLA.

Menafsirkan hasil

Untuk operasi konvolusi, pemanfaatan TPU FLOPS yang rendah mungkin disebabkan oleh salah satu atau kedua alasan berikut:

  • padding (unit matriks digunakan sebagian)
  • operasi konvolusi terikat memori

Bagian ini memberikan interpretasi tentang beberapa metrik performa dari model dengan penggunaan FLOP yang rendah. Dalam contoh ini, fusi output dan konvolusi mendominasi waktu eksekusi. Ada banyak operasi vektor atau skalar yang memiliki pemanfaatan FLOP yang rendah.

Salah satu strategi pengoptimalan untuk jenis profil ini adalah dengan mengubah operasi vektor atau skalar menjadi operasi konvolusi.

Dalam contoh berikut, %convolution.399 menunjukkan FLOPS dan pemakaian memori yang lebih rendah daripada %convolution.340 di contoh sebelumnya.

gambar

Dalam contoh ini, ukuran tumpukan diberi padding ke 128 dan ukuran fitur ditambahkan ke 8. Dalam hal ini, hanya 5% dari unit matriks yang digunakan secara efektif. Pemanfaatan dihitung berdasarkan (((batch_time * num_of_features) / padding_size ) / num_of_cores). Bandingkan FLOPS dalam contoh ini dengan %convolution.340 di contoh sebelumnya yang tidak menggunakan padding.

Penampil rekaman aktivitas

Trace viewer adalah alat analisis performa Cloud TPU yang tersedia di halaman Profile. Alat ini menggunakan penampil profil peristiwa rekaman aktivitas Chrome sehingga hanya berfungsi di browser Chrome.

Penampil rekaman aktivitas menampilkan linimasa yang menunjukkan:

  • Durasi untuk operasi yang dijalankan oleh model TensorFlow Anda.
  • Bagian sistem (TPU atau mesin host) yang menjalankan operasi. Biasanya, mesin host mengeksekusi operasi infeed, yang melakukan prapemrosesan data pelatihan dan mentransfernya ke TPU, sedangkan TPU menjalankan pelatihan model yang sebenarnya.

Penampil rekaman aktivitas memungkinkan Anda mengidentifikasi masalah performa di model, lalu mengambil langkah-langkah untuk menyelesaikannya. Misalnya, pada level tinggi, Anda dapat mengidentifikasi apakah pelatihan infeed atau pelatihan model memerlukan sebagian besar waktu. Dengan perincian, Anda dapat mengidentifikasi operasi TensorFlow mana yang memerlukan waktu eksekusi paling lama.

Penampil trace dibatasi hingga 1 juta peristiwa untuk setiap Cloud TPU. Jika Anda perlu menilai lebih banyak peristiwa, gunakan penampil rekaman aktivitas streaming.

Antarmuka penampil rekaman aktivitas

Untuk membuka penampil rekaman aktivitas, buka TensorBoard, klik tab Profil di bagian atas layar, lalu pilih trace_viewer dari drop-down Alat. Penampil tersebut akan menampilkan proses terbaru Anda:

gambar

Layar ini berisi elemen utama berikut (ditandai dengan angka di screenshot sebelumnya):

  1. Menu drop-down run Berisi semua sesi yang informasi rekaman aktivitasnya telah Anda ambil. Tampilan default adalah operasi terbaru, tetapi Anda dapat membuka menu drop-down untuk memilih run lain.
  2. Menu drop-down Tools Memilih alat pembuatan profil yang berbeda.
  3. Menu drop-down Host Memilih host yang berisi kumpulan Cloud TPU.
  4. Panel linimasa Menampilkan operasi yang dijalankan oleh Cloud TPU dan mesin host dari waktu ke waktu.
  5. Panel details Menampilkan informasi tambahan untuk operasi yang dipilih di panel Linimasa.

Berikut adalah tampilan panel linimasa lebih dekat:

gambar

Panel {i>Timeline<i} berisi elemen-elemen berikut:

  1. Panel atas Berisi berbagai kontrol tambahan.
  2. Sumbu waktu Menampilkan waktu yang relatif terhadap awal rekaman aktivitas.
  3. Bagian dan label trek Setiap bagian berisi beberapa trek dan memiliki segitiga di sebelah kiri yang dapat Anda klik untuk memperluas dan menciutkan bagian tersebut. Ada satu bagian untuk setiap elemen pemrosesan dalam sistem.
  4. Tool selector Berisi berbagai alat untuk berinteraksi dengan penampil rekaman aktivitas.
  5. Peristiwa Menampilkan waktu selama operasi dijalankan atau durasi peristiwa meta, seperti langkah pelatihan.
  6. Panel tab vertikal Menu ini tidak memiliki tujuan yang berguna untuk Cloud TPU. Panel ini adalah bagian dari alat penampil rekaman aktivitas tujuan umum yang disediakan oleh Chrome yang digunakan untuk berbagai tugas analisis performa.

Bagian dan trek

Trace viewer berisi bagian berikut:

  • Satu bagian untuk setiap node TPU, yang diberi label dengan jumlah chip TPU dan node TPU dalam chip (misalnya, "Chip 2: TPU Core 1"). Setiap bagian node TPU berisi jalur berikut:
    • Langkah Menampilkan durasi langkah pelatihan yang berjalan di TPU.
    • TensorFlow Ops Menampilkan operasi TensorFlow yang dijalankan di TPU.
    • OperasiXLA Menampilkan operasi XLA yang berjalan di TPU. (Setiap operasi diterjemahkan menjadi satu atau beberapa operasi XLA. Compiler XLA menerjemahkan operasi XLA menjadi kode yang berjalan di TPU.)
  • Satu bagian untuk thread yang berjalan pada CPU host, berlabel "Host Threads". Bagian ini berisi satu jalur untuk setiap thread CPU. Catatan: Anda dapat mengabaikan informasi yang ditampilkan di samping label bagian.

Pemilih alat linimasa

Anda dapat berinteraksi dengan tampilan linimasa menggunakan pemilih alat linimasa di TensorBoard. Anda dapat mengklik alat linimasa atau menggunakan pintasan keyboard berikut untuk mengaktifkan dan menandai alat. Untuk memindahkan pemilih alat linimasa, klik area titik-titik di bagian atas, lalu tarik pemilih ke tempat yang Anda inginkan.

Gunakan alat linimasa sebagai berikut:

Alat pemilihan
klik peristiwa untuk memilihnya atau tarik untuk memilih beberapa peristiwa. Informasi tambahan tentang satu atau beberapa peristiwa yang dipilih (nama, waktu mulai, dan durasi) akan ditampilkan di panel detail.

Alat geser
Tarik untuk menggeser tampilan linimasa secara horizontal dan vertikal.

Alat zoom
Tarik ke atas untuk memperbesar atau tarik ke bawah untuk memperkecil di sepanjang sumbu horizontal (waktu). Posisi horizontal kursor mouse menentukan bagian tengah tempat zoom terjadi.

Catatan: Jika alat zoom tetap aktif setelah Anda melepaskan tombol mouse, klik tampilan linimasa untuk menonaktifkan alat zoom.

Alat pengaturan waktu
Tarik secara horizontal untuk menandai interval waktu. Panjang interval muncul pada sumbu waktu. Untuk menyesuaikan interval, tarik ujungnya. Untuk menghapus interval, klik di mana saja di dalam tampilan linimasa.

Jika Anda memilih alat lain, intervalnya tetap ditandai.

Penampil memori

Penampil memori memungkinkan Anda memvisualisasikan puncak penggunaan memori dan tren penggunaan memori untuk program Anda.

Antarmuka pengguna penampil memori akan terlihat seperti ini:

gambar

  1. Menu drop-down Host Memilih host TPU dan modul XLA High Level Optimizer (HLO) untuk divisualisasikan.
  2. Memory overview Menampilkan alokasi dan ukuran memori puncak tanpa padding.
  3. Working space chart Menampilkan penggunaan memori puncak dan plot tren penggunaan memori untuk program Anda. Arahkan kursor ke buffer di salah satu diagram buffer untuk menampilkan informasi tambahan dalam kartu alokasi buffer.
  4. Diagram buffer Dua diagram yang menampilkan alokasi buffer pada penggunaan memori puncak. Mengarahkan kursor ke buffer di salah satu diagram buffer untuk menampilkan informasi tambahan dalam kartu detail buffer.
  5. Kartu detail alokasi buffer Menampilkan detail alokasi untuk buffer.

Panel ringkasan memori

Panel ringkasan memori (atas) menunjukkan nama modul dan alokasi memori puncak yang ditetapkan saat ukuran alokasi buffer total mencapai maksimum. Ukuran alokasi puncak tanpa padding juga ditampilkan untuk perbandingan.

gambar

Diagram ruang kerja

Diagram ini menampilkan puncak penggunaan memori dan plot tren penggunaan memori untuk program Anda. Garis vertikal menunjukkan penggunaan memori puncak untuk program. Diagram ini menunjukkan apakah program Anda dapat masuk ke dalam ruang memori global yang tersedia.

gambar

Setiap titik dalam grafik mewakili "titik program" dalam program XLA HLO. Garis ini menunjukkan perubahan penggunaan memori program Anda dari waktu ke waktu.

Interaksi dengan elemen diagram buffer

Saat Anda mengarahkan kursor ke buffer dalam diagram buffer, garis horizontal yang menunjukkan masa aktif buffer akan muncul di diagram ruang kerja.

gambar

Ketebalan garis horizontal menunjukkan besaran relatif ukuran buffer yang relatif terhadap alokasi memori puncak. Panjang garis menunjukkan masa pakai {i>buffer<i}.

Diagram buffer

Dua diagram menunjukkan perincian penggunaan memori pada penggunaan puncak.

gambar

  • By Program Order Menampilkan buffer dari kiri ke kanan sesuai urutan aktifnya selama eksekusi program.

  • By Size Menampilkan buffer yang aktif selama eksekusi program dalam urutan penurunan ukuran.

Kartu detail alokasi buffer

Saat Anda mengarahkan kursor ke buffer yang ditampilkan di salah satu diagram buffer, kartu detail alokasi buffer akan muncul. Kartu detail umum akan terlihat seperti ini:

gambar

  1. Name - Nama operasi XLA.
  2. Kategori - Kategori operasi.
  3. Ukuran - Ukuran alokasi buffer (termasuk padding).
  4. Ukuran tanpa padding - Ukuran alokasi buffer tanpa padding.
  5. Ekspansi - Besarnya relatif ukuran buffer dengan padding versus ukuran tanpa padding.
  6. Memori tambahan - Menunjukkan jumlah memori tambahan yang digunakan untuk padding.
  7. Bentuk - Menjelaskan peringkat, ukuran, dan jenis data dari array dimensi N.
  8. Nama operasi TensorFlow - Menampilkan nama operasi TensorFlow yang terkait dengan alokasi buffer.
  9. Jenis alokasi - Menunjukkan kategori alokasi buffer: Parameter, Output, Thread-local, dan Sementara (misalnya, alokasi buffer dalam fusi).

Error kehabisan memori

Jika Anda menjalankan model dan mendapatkan error "kehabisan memori", gunakan panduan dalam dokumen ini untuk mengambil profil. Tunggu hingga skrip melatih model sebelum memulai profiler. Output pembuatan profil dapat membantu Anda memahami penyebab error.