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:
Memulai sesi pelatihan model
- 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.
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.
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.
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.
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
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
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.
Mengambil profil di VM TPU
- Pilih tombol CAPTURE PROFILE.
- Pilih tombol pilihan Alamat IP.
- Ketik HOSTNAME:6000 di kolom
Profile Service URL
. - Pilih tombol CAPTURE.
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.
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
- Penganalisis pipeline input
- Profil Operasi XLA
- Trace viewer (khusus browser Chrome)
- Penampil memori
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:
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:
- Pembacaan file
- Prapemrosesan file (opsional)
- 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
.
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:
Setiap entri tabel berisi informasi berikut:
- Input Op Menampilkan nama operasi TensorFlow dari operasi input.
- Jumlah Menampilkan jumlah total instance operasi yang dieksekusi selama periode pembuatan profil.
- Total Waktu (dalam md) Menampilkan jumlah waktu kumulatif yang dihabiskan untuk setiap instance operasi.
- Total Waktu % Menampilkan total waktu yang dihabiskan pada suatu operasi sebagai pecahan dari total waktu yang dihabiskan dalam pemrosesan input.
- 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 olehIterator::PaddedBatch::Filter
sehingga total waktunya dikecualikan dari total waktu mandiri yang terakhir. - Total persentase waktu mandiri Menampilkan total waktu mandiri sebagai pecahan dari total waktu yang dihabiskan untuk pemrosesan input.
- 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:
- Bagian Ringkasan Menampilkan penggunaan Cloud TPU dan memberikan saran untuk pengoptimalan.
- Panel kontrol Berisi kontrol yang memungkinkan Anda menetapkan jumlah operasi yang ditampilkan dalam tabel, operasi yang ditampilkan, dan cara pengurutannya.
- Tabel operasi Mencantumkan kategori operasi TensorFlow teratas yang terkait dengan operasi XLA. Operasi ini diurutkan berdasarkan persentase penggunaan Cloud TPU.
- 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.
- 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.
- 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.
- TensorFlow Op Menampilkan nama operasi TensorFlow yang terkait dengan operasi XLA.
- 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:
- 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.
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:
Layar ini berisi elemen utama berikut (ditandai dengan angka di screenshot sebelumnya):
- 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.
- Menu drop-down Tools Memilih alat pembuatan profil yang berbeda.
- Menu drop-down Host Memilih host yang berisi kumpulan Cloud TPU.
- Panel linimasa Menampilkan operasi yang dijalankan oleh Cloud TPU dan mesin host dari waktu ke waktu.
- Panel details Menampilkan informasi tambahan untuk operasi yang dipilih di panel Linimasa.
Berikut adalah tampilan panel linimasa lebih dekat:
Panel {i>Timeline<i} berisi elemen-elemen berikut:
- Panel atas Berisi berbagai kontrol tambahan.
- Sumbu waktu Menampilkan waktu yang relatif terhadap awal rekaman aktivitas.
- 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.
- Tool selector Berisi berbagai alat untuk berinteraksi dengan penampil rekaman aktivitas.
- Peristiwa Menampilkan waktu selama operasi dijalankan atau durasi peristiwa meta, seperti langkah pelatihan.
- 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:
- Menu drop-down Host Memilih host TPU dan modul XLA High Level Optimizer (HLO) untuk divisualisasikan.
- Memory overview Menampilkan alokasi dan ukuran memori puncak tanpa padding.
- 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.
- 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.
- 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.
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.
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.
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.
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:
- Name - Nama operasi XLA.
- Kategori - Kategori operasi.
- Ukuran - Ukuran alokasi buffer (termasuk padding).
- Ukuran tanpa padding - Ukuran alokasi buffer tanpa padding.
- Ekspansi - Besarnya relatif ukuran buffer dengan padding versus ukuran tanpa padding.
- Memori tambahan - Menunjukkan jumlah memori tambahan yang digunakan untuk padding.
- Bentuk - Menjelaskan peringkat, ukuran, dan jenis data dari array dimensi N.
- Nama operasi TensorFlow - Menampilkan nama operasi TensorFlow yang terkait dengan alokasi buffer.
- 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.