Tutorial ini menunjukkan cara melatih model Keras EfficientNet di Cloud TPU menggunakan tf.distribute.TPUStrategy
.
Jika belum terbiasa menggunakan Cloud TPU, sebaiknya Anda membaca quickstart untuk mempelajari cara membuat Cloud TPU dan VM Compute Engine.
Tujuan
- Membuat bucket Cloud Storage untuk menyimpan set data dan output model Anda.
- Siapkan set data imagenet palsu yang mirip dengan set data ImageNet.
- Menjalankan tugas pelatihan.
- Verifikasi hasil output.
Biaya
Dalam dokumen ini, Anda menggunakan komponen Google Cloud yang dapat ditagih berikut:
- Compute Engine
- Cloud TPU
- Cloud Storage
Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda,
gunakan kalkulator harga.
Sebelum memulai
Sebelum memulai tutorial ini, pastikan project Google Cloud Anda sudah disiapkan dengan benar.
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Make sure that billing is enabled for your Google Cloud project.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Make sure that billing is enabled for your Google Cloud project.
Panduan ini menggunakan komponen Google Cloud yang dapat ditagih. Lihat halaman harga Cloud TPU untuk memperkirakan biaya Anda. Pastikan untuk membersihkan resource yang Anda buat setelah selesai menggunakannya untuk menghindari biaya yang tidak perlu.
Pelatihan perangkat tunggal Cloud TPU
Bagian ini menjelaskan cara mengonfigurasi resource Cloud TPU dan melatih model EfficientNet menggunakan satu perangkat Cloud TPU.
Buka jendela Cloud Shell.
Buat variabel untuk ID project Anda.
export PROJECT_ID=project-id
Konfigurasikan Google Cloud CLI untuk menggunakan project tempat Anda ingin membuat Cloud TPU.
gcloud config set project ${PROJECT_ID}
Saat pertama kali menjalankan perintah ini di VM Cloud Shell baru, halaman
Authorize Cloud Shell
akan ditampilkan. KlikAuthorize
di bagian bawah halaman untuk mengizinkangcloud
melakukan panggilan API dengan kredensial Anda.Untuk mengetahui informasi lebih lanjut tentang perintah
gcloud
, lihat Referensi gcloud.Membuat Akun Layanan untuk project Cloud TPU.
Akun layanan memungkinkan layanan Cloud TPU mengakses layanan Google Cloud lainnya.
gcloud beta services identity create --service tpu.googleapis.com --project $PROJECT_ID
Perintah akan menampilkan Akun Layanan Cloud TPU dengan format berikut:
service-PROJECT_NUMBER@cloud-tpu.iam.gserviceaccount.com
Mengekspor variabel penyiapan TPU
Tetapkan zona tempat Anda akan melatih model dan simpan semua data terkait pelatihan.
$ export ZONE=europe-west4-a
Buat bucket Cloud Storage menggunakan perintah berikut:
gsutil mb -p ${PROJECT_ID} -c standard -l europe-west4 gs://bucket-name/
Bucket Cloud Storage ini menyimpan data yang Anda gunakan untuk melatih model dan hasil pelatihan. Perintah
gcloud compute tpus execution-groups
yang digunakan dalam tutorial ini menyiapkan izin default untuk Akun Layanan Cloud TPU yang Anda siapkan di langkah sebelumnya. Jika Anda menginginkan izin yang lebih terperinci, tinjau izin tingkat akses.Lokasi bucket harus berada di region yang sama dengan Compute Engine (VM) dan node Cloud TPU.
Siapkan set data Anda atau gunakan fake_imagenet
ImageNet adalah database gambar. Gambar dalam database diatur menjadi hierarki, dengan setiap node hierarki digambarkan dalam ratusan gambar.
Tutorial ini menggunakan versi demonstrasi set data ImageNet lengkap, yang disebut sebagai fake_imagenet. Versi demonstrasi ini memungkinkan Anda untuk menguji tutorial, sekaligus mengurangi persyaratan penyimpanan dan waktu yang biasanya terkait dengan menjalankan model pada database ImageNet lengkap.
Set data palsu_imagenet berada di lokasi ini pada Cloud Storage:
gs://cloud-tpu-test-datasets/fake_imagenet
Set data fault_imagenet hanya berguna untuk memahami cara menggunakan Cloud TPU dan memvalidasi performa end-to-end. Angka akurasi dan model yang tersimpan tidak akan bermakna.
Jika Anda ingin menggunakan set data ImageNet lengkap, lihat Mendownload, melakukan prapemrosesan, dan mengupload set data ImageNet.
Luncurkan resource TPU menggunakan perintah
gcloud
. Perintah yang digunakan bergantung pada apakah Anda menggunakan VM TPU atau node TPU. Untuk informasi selengkapnya tentang dua arsitektur VM, lihat Arsitektur Sistem.VM TPU
$ gcloud compute tpus tpu-vm create efficientnet-tutorial \ --zone=${ZONE} \ --accelerator-type=v3-8 \ --version=tpu-vm-tf-2.16.1-pjrt
Deskripsi flag perintah
zone
- Zona tempat Anda berencana membuat Cloud TPU.
accelerator-type
- Jenis akselerator menentukan versi dan ukuran Cloud TPU yang ingin Anda buat. Untuk mengetahui informasi selengkapnya tentang jenis akselerator yang didukung untuk setiap versi TPU, lihat versi TPU.
version
- Versi software Cloud TPU.
Node TPU
gcloud compute tpus execution-groups create \ --name=efficientnet-tutorial \ --zone=${ZONE} \ --disk-size=300 \ --machine-type=n1-standard-16 \ --tf-version=2.12.0 \ --accelerator-type=v3-8
Deskripsi flag perintah
project
- ID project Google Cloud Anda
name
- Nama Cloud TPU yang akan dibuat.
zone
- Zona tempat Anda berencana membuat Cloud TPU.
disk-size
- Ukuran hard disk dalam GB VM yang dibuat oleh perintah
gcloud
. machine-type
- Jenis mesin VM Compute Engine yang akan dibuat.
tf-version
- Versi Tensorflow
gcloud
dapat diinstal di VM. accelerator-type
- Jenis Cloud TPU yang akan dibuat.
Untuk mengetahui informasi lebih lanjut tentang perintah
gcloud
, lihat Referensi gcloud.Jika Anda tidak login secara otomatis ke instance Compute Engine, login dengan menjalankan perintah
ssh
berikut. Saat Anda login ke VM, perintah shell Anda akan berubah dariusername@projectname
menjadiusername@vm-name
:VM TPU
gcloud compute tpus tpu-vm ssh efficientnet-tutorial --zone=${ZONE}
Node TPU
gcloud compute ssh efficientnet-tutorial --zone=${ZONE}
Tetapkan variabel nama Cloud TPU.
VM TPU
(vm)$ export TPU_NAME=local
Node TPU
(vm)$ export TPU_NAME=efficientnet-tutorial
Menetapkan variabel bucket Cloud Storage
Ganti bucket-name dengan nama bucket Cloud Storage Anda:
(vm)$ export STORAGE_BUCKET=gs://bucket-name
(vm)$ export MODEL_DIR=${STORAGE_BUCKET}/efficientnet-2x (vm)$ export DATA_DIR=gs://cloud-tpu-test-datasets/fake_imagenet
Aplikasi pelatihan mengharapkan data pelatihan Anda dapat diakses di Cloud Storage. Aplikasi pelatihan juga menggunakan bucket Cloud Storage Anda untuk menyimpan checkpoint selama pelatihan.
Saat membuat TPU, jika Anda menetapkan parameter
--version
ke versi yang diakhiri dengan-pjrt
, tetapkan variabel lingkungan berikut untuk mengaktifkan runtime PJRT:(vm)$ export NEXT_PLUGGABLE_DEVICE_USE_C_API=true (vm)$ export TF_PLUGGABLE_DEVICE_LIBRARY_PATH=/lib/libtpu.so
Instal persyaratan TensorFlow.
Perintah yang digunakan bergantung pada apakah Anda menggunakan VM TPU atau Node TPU.
VM TPU
(vm)$ pip3 install -r /usr/share/tpu/models/official/requirements.txt
Node TPU
(vm)$ pip3 install --user -r /usr/share/models/official/requirements.txt
Skrip pelatihan EfficientNet memerlukan paket tambahan (khusus TPU VM). Instal sekarang:
VM TPU
(vm)$ sudo pip3 install tensorflow-addons (vm)$ sudo pip3 install tensorflow-model-optimization>=0.1.3
Tetapkan beberapa variabel lingkungan yang diperlukan:
VM TPU
(vm)$ export PYTHONPATH="${PYTHONPATH}:/usr/share/tpu/models"
Node TPU
(vm)$ export PYTHONPATH="${PYTHONPATH}:/usr/share/models"
Model EfficientNet sudah diinstal sebelumnya di VM Compute Engine Anda.
Ubah ke direktori yang menyimpan model:
VM TPU
(vm)$ cd /usr/share/tpu/models/official/legacy/image_classification
Node TPU
(vm)$ cd /usr/share/models/official/legacy/image_classification
Latih model. Kode ini menggunakan set data fault_imagenet dan melatih EfficientNet untuk satu epoch.
(vm)$ python3 classifier_trainer.py \ --mode=train_and_eval \ --model_type=efficientnet \ --dataset=imagenet \ --tpu=${TPU_NAME} \ --data_dir=${DATA_DIR} \ --model_dir=${MODEL_DIR} \ --config_file=configs/examples/efficientnet/imagenet/efficientnet-b0-tpu.yaml \ --params_override="train.epochs=1, train_dataset.builder=records, validation_dataset.builder=records"
Deskripsi flag perintah
mode
- Salah satu dari
train
,eval
, atautrain_and_eval
. model_type
- Jenis model. Contoh,
efficientnet
. dataset
- Nama set data. Contoh,
imagenet
. tpu
- Nama Cloud TPU untuk menjalankan pelatihan atau evaluasi.
data_dir
- Menentukan jalur Cloud Storage untuk input pelatihan. Pada contoh ini, nilai ini disetel ke set data palsu_imagenet.
model_dir
- Jalur Cloud Storage tempat checkpoint dan ringkasan disimpan selama pelatihan model. Anda dapat menggunakan kembali folder yang ada untuk memuat checkpoint yang dihasilkan sebelumnya dan menyimpan checkpoint tambahan selama checkpoint sebelumnya dibuat menggunakan Cloud TPU dengan ukuran dan versi TensorFlow yang sama.
config_file
- Jalur ke file json yang berisi model EfficientNet yang telah dilatih sebelumnya. File ini berisi arsitektur model.
params_override
- String JSON yang mengganti parameter skrip default. Untuk informasi selengkapnya tentang parameter skrip, lihat
/usr/share/models/official/legacy/detection/main.py
.
Tindakan ini akan melatih EfficientNet selama 1 epoch dan akan selesai pada node Cloud TPU v3-8 dalam waktu sekitar 40 menit. Setelah skrip pelatihan selesai, output yang mirip dengan berikut akan muncul:
Run stats: { 'accuracy_top_1': 0.0010172526817768812, 'eval_loss': 7.104171276092529, 'loss': 7.113735675811768, 'training_accuracy_top_1': 0.0009773431811481714, 'step_timestamp_log': [ 'BatchTimestamp<batch_index: 0, timestamp: 1604960724.2224622>', 'BatchTimestamp<batch_index: 1251, timestamp: 1604961281.3745298>' ], 'train_finish_time': 1604961342.6359076, 'avg_exp_per_second': 2071.493269569079 }
Untuk melatih EfficientNet agar konvergensi pada set data ImageNet, jalankan selama 90 epoch seperti yang ditunjukkan dalam skrip berikut. Pelatihan dan evaluasi dilakukan bersama. Setiap epoch memiliki 1.251 langkah dengan total 112.590 langkah pelatihan dan 48 langkah evaluasi.
(vm)$ python3 classifier_trainer.py \ --mode=train_and_eval \ --model_type=efficientnet \ --dataset=imagenet \ --tpu=${TPU_NAME} \ --data_dir=${DATA_DIR} \ --model_dir=${MODEL_DIR} \ --config_file=configs/examples/efficientnet/imagenet/efficientnet-b0-tpu.yaml \ --params_override="train_dataset.builder=records, validation_dataset.builder=records"
Deskripsi flag perintah
mode
- Salah satu dari
train
,eval
, atautrain_and_eval
. model_type
- Jenis model. Misalnya,
efficientnet
, dll. dataset
- Nama set data. Contoh,
imagenet
. tpu
- Nama Cloud TPU untuk menjalankan pelatihan atau evaluasi.
data_dir
- Menentukan jalur Cloud Storage untuk input pelatihan. Pada contoh ini, set data ini ditetapkan ke set data palsu_imagenet.
model_dir
- Jalur Cloud Storage tempat checkpoint dan ringkasan disimpan selama pelatihan model. Anda dapat menggunakan kembali folder yang sudah ada untuk memuat checkpoint yang dihasilkan sebelumnya dan untuk menyimpan checkpoint tambahan selama checkpoint sebelumnya dibuat menggunakan Cloud TPU dengan ukuran dan versi TensorFlow yang sama.
config_file
- Jalur ke file JSON yang berisi model EfficientNet yang telah dilatih sebelumnya. File ini berisi arsitektur model.
params_override
- String JSON yang mengganti parameter skrip default. Untuk informasi selengkapnya tentang parameter skrip, lihat
/usr/share/models/official/legacy/detection/main.py
.
Karena pelatihan dilakukan pada set data palsu_imagenet, hasil output tidak mencerminkan output aktual yang akan muncul jika pelatihan dilakukan pada set data sebenarnya.
Sekarang Anda telah menyelesaikan pelatihan satu perangkat. Gunakan langkah-langkah berikut untuk menghapus resource TPU satu perangkat saat ini.
Putuskan koneksi dari instance Compute Engine:
(vm)$ exit
Prompt Anda sekarang akan menjadi
username@projectname
, yang menunjukkan bahwa Anda berada di Cloud Shell.Hapus resource TPU.
VM TPU
$ gcloud compute tpus tpu-vm delete efficientnet-tutorial \ --zone=${ZONE}
Deskripsi flag perintah
zone
- Zona tempat Cloud TPU Anda berada.
Node TPU
$ gcloud compute tpus execution-groups delete efficientnet-tutorial \ --tpu-only \ --zone=${ZONE}
Deskripsi flag perintah
tpu-only
- Hanya menghapus Cloud TPU. VM tetap tersedia.
zone
- Zona yang berisi TPU yang akan dihapus.
Di tahap ini, Anda dapat mengakhiri tutorial ini dan membersihkan, atau melanjutkan dan mempelajari cara menjalankan model di Pod Cloud TPU.
Menskalakan model Anda dengan Pod Cloud TPU
Melatih model Anda di Pod Cloud TPU mungkin memerlukan beberapa perubahan pada skrip pelatihan Anda. Untuk mengetahui informasi selengkapnya, lihat Pelatihan terkait Pod TPU.
Pelatihan Pod Cloud TPU
Bagian ini memberikan informasi tentang penyiapan bucket Cloud Storage dan resource Cloud TPU untuk pelatihan Pod.
Buka jendela Cloud Shell.
Buat variabel untuk ID project Anda.
export PROJECT_ID=project-id
Konfigurasikan Google Cloud CLI untuk menggunakan project tempat Anda ingin membuat Cloud TPU.
gcloud config set project ${PROJECT_ID}
Saat pertama kali menjalankan perintah ini di VM Cloud Shell baru, halaman
Authorize Cloud Shell
akan ditampilkan. KlikAuthorize
di bagian bawah halaman untuk mengizinkangcloud
melakukan panggilan Google Cloud API dengan kredensial Anda.Membuat Akun Layanan untuk project Cloud TPU.
Akun layanan memungkinkan layanan Cloud TPU mengakses layanan Google Cloud lainnya.
gcloud beta services identity create --service tpu.googleapis.com --project $PROJECT_ID
Perintah akan menampilkan Akun Layanan Cloud TPU dengan format berikut:
service-PROJECT_NUMBER@cloud-tpu.iam.gserviceaccount.com
Buat bucket Cloud Storage menggunakan perintah berikut atau gunakan bucket yang Anda buat sebelumnya untuk project Anda:
gsutil mb -p ${PROJECT_ID} -c standard -l europe-west4 gs://bucket-name
Bucket Cloud Storage ini menyimpan data yang Anda gunakan untuk melatih model dan hasil pelatihan. Perintah
gcloud
yang digunakan dalam tutorial ini akan menyiapkan izin default untuk Akun Layanan Cloud TPU yang Anda siapkan di langkah sebelumnya. Jika Anda menginginkan izin yang lebih terperinci, tinjau izin tingkat akses.Lokasi bucket harus berada di region yang sama dengan VM TPU Anda.
Mengekspor variabel penyiapan TPU
Tetapkan zona tempat Anda akan melatih model dan simpan semua data terkait pelatihan.
$ export ZONE=europe-west4-a
Siapkan set data Anda atau gunakan fake_imagenet
ImageNet adalah database gambar. Gambar dalam database diatur menjadi hierarki, dengan setiap node hierarki digambarkan dalam ratusan gambar.
Pelatihan Pod default mengakses versi demonstrasi set data ImageNet lengkap, yang disebut sebagai fake_imagenet. Versi demonstrasi ini memungkinkan Anda menguji pelatihan Pod, sekaligus mengurangi persyaratan penyimpanan dan waktu yang biasanya terkait dengan melatih model berdasarkan database ImageNet lengkap.
Set data fault_imagenet hanya berguna untuk memahami cara menggunakan Cloud TPU dan memvalidasi performa end-to-end. Angka akurasi dan model yang tersimpan tidak akan bermakna.
Jika Anda ingin menggunakan set data ImageNet lengkap, lihat Mendownload, melakukan prapemrosesan, dan mengupload set data ImageNet.
Luncurkan resource Cloud TPU Anda menggunakan perintah
gcloud
.Perintah yang digunakan bergantung pada apakah Anda menggunakan VM TPU atau node TPU. Untuk informasi selengkapnya tentang dua arsitektur VM, lihat Arsitektur Sistem. Untuk mengetahui informasi lebih lanjut tentang perintah
gcloud
, lihat Referensi gcloud. Tutorial ini menentukan Pod v3-32. Untuk opsi Pod lainnya, lihat versi TPU.VM TPU
$ gcloud compute tpus tpu-vm create efficientnet-tutorial \ --zone=${ZONE} \ --accelerator-type=v3-32 \ --version=tpu-vm-tf-2.16.1-pod-pjrt
Deskripsi flag perintah
zone
- Zona tempat Anda berencana membuat Cloud TPU.
accelerator-type
- Jenis akselerator menentukan versi dan ukuran Cloud TPU yang ingin Anda buat. Untuk mengetahui informasi selengkapnya tentang jenis akselerator yang didukung untuk setiap versi TPU, lihat versi TPU.
version
- Versi software Cloud TPU.
Node TPU
(vm)$ gcloud compute tpus execution-groups create --name=efficientnet-tutorial \ --accelerator-type=v3-32 \ --zone=${ZONE} \ --tf-version=2.12.0
Deskripsi flag perintah
Jika Anda tidak login secara otomatis ke instance Compute Engine, login dengan menjalankan perintah
ssh
berikut. Saat Anda login ke VM, perintah shell Anda akan berubah dariusername@projectname
menjadiusername@vm-name
:VM TPU
$ gcloud compute tpus tpu-vm ssh efficientnet-tutorial --zone=${ZONE}
Node TPU
$ gcloud compute ssh efficientnet-tutorial --zone=${ZONE}
Saat Anda melanjutkan petunjuk ini, jalankan setiap perintah yang diawali dengan
(vm)$
di jendela sesi VM Anda.Ekspor variabel penyiapan TPU:
(vm)$ export STORAGE_BUCKET=gs://bucket-name
(vm)$ export TPU_NAME=efficientnet-tutorial (vm)$ export DATA_DIR=gs://cloud-tpu-test-datasets/fake_imagenet (vm)$ export MODEL_DIR=${STORAGE_BUCKET}/efficientnet-2x-pod
Aplikasi pelatihan mengharapkan data pelatihan Anda dapat diakses di Cloud Storage. Aplikasi pelatihan juga menggunakan bucket Cloud Storage Anda untuk menyimpan checkpoint selama pelatihan.
Instal persyaratan TensorFlow.
VM TPU
(vm)$ pip3 install -r /usr/share/tpu/models/official/requirements.txt
Node TPU
(vm)$ pip3 install -r /usr/share/models/official/requirements.txt
Tetapkan beberapa variabel lingkungan yang diperlukan:
VM TPU
(vm)$ export PYTHONPATH="/usr/share/tpu/models:${PYTHONPATH}" (vm)$ export TPU_LOAD_LIBRARY=0
Node TPU
(vm)$ export PYTHONPATH="${PYTHONPATH}:/usr/share/models"
Model EfficientNet sudah diinstal sebelumnya di VM Compute Engine Anda.
Ubah ke direktori yang menyimpan model:
VM TPU
(vm)$ cd /usr/share/tpu/models/official/legacy/image_classification/
Node TPU
(vm)$ cd /usr/share/models/official/legacy/image_classification/
Latih model.
(vm)$ python3 classifier_trainer.py \ --mode=train_and_eval \ --model_type=efficientnet \ --dataset=imagenet \ --tpu=${TPU_NAME} \ --data_dir=${DATA_DIR} \ --model_dir=${MODEL_DIR} \ --config_file=configs/examples/efficientnet/imagenet/efficientnet-b0-tpu.yaml \ --params_override="train.epochs=1, train_dataset.builder=records, validation_dataset.builder=records"
Deskripsi flag perintah
mode
- Jika ditetapkan ke
train_and_eval
, skrip ini akan melatih dan mengevaluasi model. Jika ditetapkan keexport_only
, skrip ini akan mengekspor model tersimpan. model_type
- Jenis model. Misalnya,
efficientnet
, dll. dataset
- Nama set data. Contoh,
imagenet
. tpu
- Menggunakan nama yang ditentukan dalam variabel TPU_NAME.
data_dir
- Menentukan jalur Cloud Storage untuk input pelatihan. Pada contoh ini, nilai ini disetel ke set data palsu_imagenet.
model_dir
- Jalur Cloud Storage tempat checkpoint dan ringkasan disimpan selama pelatihan model. Anda dapat menggunakan kembali folder yang ada untuk memuat checkpoint yang dihasilkan sebelumnya dan menyimpan checkpoint tambahan selama checkpoint sebelumnya dibuat menggunakan Cloud TPU dengan ukuran dan versi TensorFlow yang sama.
config_file
- Jalur ke file json yang berisi model EfficientNet yang telah dilatih sebelumnya. File ini berisi arsitektur model.
params_override
- String JSON yang mengganti parameter skrip default. Untuk informasi selengkapnya tentang parameter skrip, lihat
/usr/share/models/official/legacy/detection/main.py
.
Prosedur ini melatih model pada set data palsu_imagenet hingga 1 epoch (total 312 langkah pelatihan dan 12 langkah evaluasi). Pelatihan ini memerlukan waktu sekitar 2 menit di Cloud TPU v3-32. Setelah pelatihan dan evaluasi selesai, pesan yang mirip dengan berikut akan muncul:
Run stats: { 'accuracy_top_1': 0.0009969075908884406, 'eval_loss': 7.105168342590332, 'loss': 7.114983081817627, 'training_accuracy_top_1': 0.0010031675919890404, 'step_timestamp_log': [ 'BatchTimestamp<batch_index: 0, timestamp: 1605041621.4997303>', 'BatchTimestamp<batch_index: 312, timestamp: 1605041970.8633356>' ], 'train_finish_time': 1605042032.2274444, 'avg_exp_per_second': 3111.5120716536226 }
Pembersihan
Agar tidak dikenakan biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam tutorial ini, hapus project yang berisi resource tersebut, atau simpan project dan hapus setiap resource-nya.
Putuskan koneksi dari instance Compute Engine jika Anda belum melakukannya:
(vm)$ exit
Prompt Anda sekarang akan menjadi
username@projectname
, yang menunjukkan bahwa Anda berada di Cloud Shell.Hapus resource Cloud TPU dan Compute Engine Anda.
VM TPU
$ gcloud compute tpus tpu-vm delete efficientnet-tutorial \ --zone=${ZONE}
Node TPU
$ gcloud compute tpus execution-groups delete efficientnet-tutorial \ --zone=${ZONE}
Verifikasi bahwa resource telah dihapus dengan menjalankan
gcloud compute tpus execution-groups list
. Penghapusan memerlukan waktu beberapa menit. Output dari perintah berikut tidak boleh menyertakan resource TPU apa pun yang dibuat dalam tutorial ini:$ gcloud compute tpus execution-groups list --zone=${ZONE}
Hapus bucket Cloud Storage menggunakan
gsutil
seperti yang ditunjukkan di bawah ini. Ganti bucket-name dengan nama bucket Cloud Storage Anda.$ gsutil rm -r gs://bucket-name
Langkah selanjutnya
Tutorial TensorFlow Cloud TPU umumnya melatih model menggunakan sampel set data. Hasil pelatihan ini tidak dapat digunakan untuk inferensi. Agar dapat menggunakan model untuk inferensi, Anda dapat melatih data pada set data yang tersedia untuk publik atau set data Anda sendiri. Model TensorFlow yang dilatih di Cloud TPU umumnya memerlukan set data dalam format TFRecord.
Anda dapat menggunakan contoh alat konversi set data untuk mengonversi set data klasifikasi gambar menjadi format TFRecord. Jika tidak menggunakan model klasifikasi gambar, Anda harus mengonversi set data ke format TFRecord sendiri. Untuk mengetahui informasi selengkapnya, lihat TFRecord dan tf.Example.
Penyesuaian hyperparameter
Untuk meningkatkan performa model dengan set data, Anda dapat menyesuaikan hyperparameter model. Anda dapat menemukan informasi tentang hyperparameter yang umum untuk semua model yang didukung TPU di GitHub. Informasi tentang hyperparameter khusus model dapat ditemukan di kode sumber untuk setiap model. Untuk informasi selengkapnya tentang penyesuaian hyperparameter, lihat Ringkasan penyesuaian hyperparameter dan Menyesuaikan hyperparameter.
Inferensi
Setelah melatih model, Anda dapat menggunakannya untuk inferensi (juga disebut prediksi). Anda dapat menggunakan alat konverter inferensi Cloud TPU untuk menyiapkan dan mengoptimalkan model TensorFlow untuk inferensi di Cloud TPU v5e. Untuk mengetahui informasi selengkapnya tentang inferensi di Cloud TPU v5e, lihat pengantar inferensi Cloud TPU v5e.
Pelajari cara melatih dan mengevaluasi menggunakan data Anda sendiri sebagai pengganti set datafake_imagenet atau ImageNet dengan mengikuti tutorial konversi set data. Tutorial ini menjelaskan cara menggunakan skrip contoh pengonversi data klasifikasi gambar guna mengonversi set data mentah untuk klasifikasi gambar menjadi TFRecords yang dapat digunakan oleh model Tensorflow Cloud TPU.
Jalankan kolab Cloud TPU yang menunjukkan cara menjalankan model klasifikasi gambar menggunakan data gambar Anda sendiri.
Pelajari tutorial Cloud TPU lainnya.
Pelajari cara menggunakan alat pemantauan TPU di TensorBoard.