Membuat profil model di VM Cloud TPU

Dengan pembuatan profil, Anda dapat mengoptimalkan performa pelatihan model di Cloud TPU. Anda menggunakan TensorBoard dan plugin Cloud TPU TensorBoard untuk membuat profil model.

Untuk 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 harus:

  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 dilatih di TPU v4.
    2. Di VM TPU, tambahkan baris untuk memulai server profiler ke skrip pelatihan.

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

      Masukkan baris yang ditandai ke 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 sedang dilatih secara aktif. Outputnya 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 penggunaan CPU. Meskipun grafik penggunaan CPU tidak menunjukkan penggunaan TPU, ini adalah indikasi yang baik bahwa TPU sedang melatih model Anda.

Mulai membuat profil pelatihan model

Saat model dilatih, buka jendela terminal atau Cloud Shell terpisah. Gunakan langkah-langkah berikut untuk mulai membuat 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 Anda berkomunikasi dengan server TensorBoard yang berjalan di VM TPU.

  2. Instal persyaratan TensorFlow.

    VM TPU Anda telah menginstal TensorBoard secara default. Anda juga dapat menginstal TensorFlow secara manual. Apa pun yang Anda pilih, 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 TensorBoard Cloud TPU.

    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, lalu 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 di menu drop-down tools di sidebar kiri.

gambar

Mengambil profil di VM TPU

  1. Pilih tombol CAPTURE PROFILE.
  2. Pilih tombol pilihan IP address.
  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 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.

Halaman ringkasan profil

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

Halaman ini menampilkan data di panel berikut:

gambar

  • Ringkasan performa

    • Pemanfaatan FLOPS - Persentase pemanfaatan unit matriks TPU
  • Sepuluh operasi TensorFlow teratas di TPU Menampilkan operasi TensorFlow yang menghabiskan waktu paling banyak:

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

  • Lingkungan run

    • Jumlah host yang digunakan
    • Jenis TPU yang digunakan
    • Jumlah core TPU

Penganalisis pipeline input

Penganalisis pipeline input memberikan insight tentang hasil performa Anda. Alat ini akan segera memberi tahu Anda apakah program Anda dibatasi input dan dapat membimbing Anda melalui analisis sisi perangkat dan host untuk men-debug tahap pipeline apa pun yang menyebabkan bottleneck.

Lihat panduan tentang performa pipeline input untuk mendapatkan insight yang lebih mendalam tentang cara mengoptimalkan performa pipeline.

Pipeline input

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

Pipeline standar untuk membaca data dari file memiliki tahap-tahap berikut:

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

Pipeline input yang tidak efisien dapat memperlambat aplikasi Anda secara signifikan. Aplikasi dianggap terikat input jika menghabiskan sebagian besar waktu di pipeline input-nya. Gunakan Penganalisis pipeline input untuk memahami bagian mana dari pipeline input yang tidak efisien.

Dasbor pipeline input

Untuk membuka input pipeline analyzer, 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 menunjukkan detail analisis sisi host yang dibagi menjadi beberapa kategori:

  • Menambahkan data ke antrean untuk ditransfer ke perangkat Waktu yang dihabiskan untuk memasukkan data ke antrean infeed 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 caching, pengambilan data sebelumnya, dan interleaving.
  • Membaca data dari file sesuai permintaan Waktu yang dihabiskan untuk membaca data dari file tanpa caching, pengambilan data sebelumnya, dan interleaving.
  • Pembacaan atau pemrosesan data lainnya Waktu yang dihabiskan untuk operasi terkait input lainnya yang tidak menggunakan tf.data.

gambar

Untuk melihat statistik setiap operasi input dan kategorinya yang dikelompokkan menurut 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 dijalankan selama periode pembuatan profil.
  3. Total Waktu (dalam md) Menampilkan jumlah kumulatif waktu yang dihabiskan di setiap instance operasi.
  4. Total Time % Menampilkan total waktu yang dihabiskan untuk operasi sebagai pecahan dari total waktu yang dihabiskan dalam pemrosesan input.
  5. Total Waktu mandiri (dalam md) Menampilkan waktu yang terakumulasi di semua instance fungsi. Waktu mandiri 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 waktu mandirinya dikecualikan dari total waktu mandiri yang terakhir.
  6. Total self-time % Menampilkan total self-time sebagai pecahan dari total waktu yang dihabiskan untuk pemrosesan input.
  7. Kategori Menampilkan kategori pemrosesan operasi input.

Profil operasi

Profil operasi 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 penggunaan FLOPS TPU.
  • Operasi yang paling memakan waktu. Operasi tersebut adalah target potensial untuk pengoptimalan.
  • Detail setiap operasi, termasuk bentuk, padding, dan ekspresi yang menggunakan operasi.

Anda dapat menggunakan profil op untuk menemukan target pengoptimalan. Misalnya, Anda dapat menggunakan profil operasi untuk mengidentifikasi operasi XLA mana yang memerlukan waktu paling lama untuk berjalan dan jumlah FLOPS TPU yang digunakannya.

Menggunakan profil op

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 Tools. 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 mana yang ditampilkan, dan cara operasi tersebut diurutkan.
  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 tempat operasi digunakan, dan tata letak operasi (fit).

Tabel Operasi XLA

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

gambar

  1. Waktu Menampilkan total persentase 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 Ops teratas Tombol di samping nama kategori yang menampilkan atau menyembunyikan sepuluh operasi yang paling memakan waktu dalam kategori. Jika entri operasi fusi ditampilkan dalam daftar operasi, Anda dapat meluaskan entri tersebut untuk melihat operasi non-fusi per elemen yang dikandungnya.
  3. TensorFlow Op Menampilkan nama operasi TensorFlow yang terkait dengan operasi XLA.
  4. FLOPS Menampilkan penggunaan FLOPS, yang merupakan jumlah FLOPS yang diukur dan dinyatakan sebagai persentase FLOPS puncak Cloud TPU. Makin tinggi persentase penggunaan FLOPS, makin cepat operasi 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, kartu akan muncul yang menampilkan detail tentang operasi XLA atau kategori operasi. Kartu standar terlihat seperti ini:

gambar

  • Nama dan Kategori Menampilkan nama dan kategori operasi XLA yang ditandai.
  • FLOPS utilization Menampilkan penggunaan FLOPS sebagai persentase dari total FLOPS yang mungkin.
  • Expression 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 apa pun yang dilakukan oleh compiler XLA.

Menafsirkan hasil

Untuk operasi konvolusi, penggunaan FLOPS TPU yang rendah mungkin disebabkan oleh 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 rendah. Dalam contoh ini, fusi output dan konvolusi mendominasi waktu eksekusi. Ada banyak operasi vektor atau skalar yang memiliki penggunaan FLOP rendah.

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

Pada contoh berikut, %convolution.399 menunjukkan FLOPS dan penggunaan memori yang lebih rendah daripada %convolution.340 dalam contoh sebelumnya.

gambar

Dalam contoh ini, ukuran batch diisi hingga 128 dan ukuran fitur diisi hingga 8. Dalam hal ini, hanya 5% unit matriks yang digunakan secara efektif. Penggunaan dihitung dengan (((batch_time * num_of_features) / padding_size ) / num_of_cores). Bandingkan FLOPS dalam contoh ini dengan %convolution.340 dalam contoh sebelumnya yang tidak menggunakan padding.

Penampil trace

Pelacak rekaman aktivitas adalah alat analisis performa Cloud TPU yang tersedia di halaman Profil. Alat ini menggunakan pelihat pembuatan profil peristiwa rekaman aktivitas Chrome sehingga hanya berfungsi di browser Chrome.

Pelacak rekaman aktivitas menampilkan linimasa yang menunjukkan:

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

Pelacak rekaman aktivitas memungkinkan Anda mengidentifikasi masalah performa dalam model, lalu mengambil langkah-langkah untuk menyelesaikannya. Misalnya, pada tingkat tinggi, Anda dapat mengidentifikasi apakah pelatihan infeed atau model menghabiskan sebagian besar waktu. Dengan melihat lebih dalam, Anda dapat mengidentifikasi operasi TensorFlow mana yang memerlukan waktu eksekusi paling lama.

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

Antarmuka penampil rekaman aktivitas

Untuk membuka penampil rekaman aktivitas, buka TensorBoard, klik tab Profile di bagian atas layar, lalu pilih trace_viewer dari menu drop-down Tools. Penampil akan muncul dan menampilkan operasi terbaru Anda:

gambar

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

  1. Drop-down Run Berisi semua run yang informasi pelacakannya telah Anda rekam. Tampilan default adalah operasi terbaru, tetapi Anda dapat membuka drop-down untuk memilih operasi lain.
  2. Drop-down alat Memilih berbagai alat pembuatan profil.
  3. Dropdown host Memilih host yang berisi set Cloud TPU.
  4. Panel linimasa Menampilkan operasi yang dijalankan Cloud TPU dan mesin host dari waktu ke waktu.
  5. Panel detail Menampilkan informasi tambahan untuk operasi yang dipilih di panel Linimasa.

Berikut tampilan panel linimasa secara lebih dekat:

gambar

Panel Linimasa berisi elemen berikut:

  1. Panel atas Berisi berbagai kontrol tambahan.
  2. Sumbu waktu Menampilkan waktu relatif terhadap awal rekaman aktivitas.
  3. Label bagian dan trek Setiap bagian berisi beberapa trek dan memiliki segitiga di sebelah kiri yang dapat Anda klik untuk meluaskan dan menciutkan bagian. Ada satu bagian untuk setiap elemen pemrosesan dalam sistem.
  4. Pemilih alat Berisi berbagai alat untuk berinteraksi dengan pelihat rekaman aktivitas.
  5. Peristiwa Menampilkan waktu selama operasi dijalankan atau durasi meta-peristiwa, seperti langkah pelatihan.
  6. Panel tab vertikal Panel 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 jalur

Pelacak rekaman aktivitas berisi bagian berikut:

  • Satu bagian untuk setiap TPU node, yang diberi label dengan jumlah TPU chip dan core 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.
    • XLA Ops 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 di CPU host, berlabel "Host Threads". Bagian ini berisi satu jalur untuk setiap thread CPU. Catatan: Anda dapat mengabaikan informasi yang ditampilkan bersama label bagian.

Pemilih alat linimasa

Anda dapat berinteraksi dengan tampilan linimasa menggunakan pemilih alat linimasa di TensorBoard. Klik alat linimasa untuk mengaktifkan dan menandai alat. Untuk memindahkan pemilih alat linimasa, klik di area putus-putus 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 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 sepanjang sumbu horizontal (waktu). Posisi horizontal kursor mouse menentukan pusat tempat zoom dilakukan.

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. Durasi interval muncul di sumbu waktu. Untuk menyesuaikan interval, tarik ujungnya. Untuk menghapus interval, klik di mana saja di dalam tampilan linimasa.

Jika Anda memilih alat lain, interval akan tetap ditandai.

Penampil memori

Memory viewer memungkinkan Anda memvisualisasikan penggunaan memori puncak dan tren penggunaan memori untuk program Anda.

Antarmuka pengguna penampil memori terlihat seperti ini:

gambar

  1. Drop-down Host Memilih host TPU dan modul XLA High Level Optimizer (HLO) untuk divisualisasi.
  2. Ringkasan memori Menampilkan alokasi dan ukuran memori puncak tanpa padding.
  3. Diagram ruang kerja 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 di kartu alokasi buffer.
  4. Diagram buffer Dua diagram yang menampilkan alokasi buffer pada penggunaan memori puncak. Arahkan kursor ke buffer di salah satu diagram buffer untuk menampilkan informasi tambahan di kartu detail buffer.
  5. Kartu detail alokasi buffer Menampilkan detail alokasi untuk buffer.

Panel ringkasan memori

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

gambar

Diagram ruang kerja

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

gambar

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

Interaksi dengan elemen diagram buffer

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

gambar

Ketebalan garis horizontal menunjukkan besarnya ukuran buffer secara relatif terhadap alokasi memori puncak. Panjang garis menunjukkan masa aktif buffering.

Diagram buffer

Dua diagram menunjukkan perincian penggunaan memori pada penggunaan puncak.

gambar

  • By Program Order Menampilkan buffering dari kiri ke kanan dalam urutan saat buffering aktif selama eksekusi program.

  • Menurut Ukuran Menampilkan buffering yang aktif selama eksekusi program sesuai urutan ukuran yang menurun.

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 standar terlihat seperti ini:

gambar

  1. Nama - 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 - Besaran relatif ukuran buffer yang ditambahkan padding dibandingkan dengan ukuran tanpa padding.
  6. Memori tambahan - Menunjukkan jumlah memori tambahan yang digunakan untuk padding.
  7. Bentuk - Menjelaskan peringkat, ukuran, dan jenis data array berdimensi N.
  8. Nama op TensorFlow - Menampilkan nama operasi TensorFlow yang terkait dengan alokasi buffering.
  9. Jenis alokasi - Menunjukkan kategori alokasi buffer: Parameter, Output, Thread-local, dan Sementara (misalnya, alokasi buffer dalam penggabungan).

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.