Tutorial ini menunjukkan cara melatih model ResNet-50 di perangkat Cloud TPU dengan PyTorch. Anda dapat menerapkan pola yang sama ke model klasifikasi gambar lain yang dioptimalkan TPU yang menggunakan PyTorch dan set data ImageNet.
Model dalam tutorial ini didasarkan pada Deep Residual Learning for Image Recognition, yang pertama kali memperkenalkan arsitektur jaringan residual (ResNet). Tutorial ini menggunakan varian 50 lapisan, ResNet-50, dan menunjukkan pelatihan model menggunakan PyTorch/XLA.
Tujuan
- Siapkan set data.
- Jalankan tugas pelatihan.
- Verifikasi hasil output.
Biaya
Dalam dokumen ini, Anda akan menggunakan komponen Google Cloud yang dapat ditagih berikut:
- Compute Engine
- Cloud TPU
Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda,
gunakan kalkulator harga.
Sebelum memulai
Sebelum memulai tutorial ini, pastikan project Google Cloud Anda 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
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 Anda selesai menggunakannya untuk menghindari tagihan yang tidak diperlukan.
Membuat VM TPU
Buka jendela Cloud Shell.
Membuat VM TPU
gcloud compute tpus tpu-vm create your-tpu-name \ --accelerator-type=v4-8 \ --version=tpu-ubuntu2204-base \ --zone=us-central2-b \ --project=your-project
Hubungkan ke VM TPU Anda menggunakan SSH:
gcloud compute tpus tpu-vm ssh your-tpu-name --zone=us-central2-b
Instal PyTorch/XLA di VM TPU Anda:
(vm)$ pip install torch~=2.5.0 torch_xla[tpu]~=2.5.0 torchvision -f https://storage.googleapis.com/libtpu-releases/index.html
Meng-clone repo GitHub PyTorch/XLA
(vm)$ git clone --depth=1 --branch r2.5 https://github.com/pytorch/xla.git
Menjalankan skrip pelatihan dengan data palsu
(vm) $ PJRT_DEVICE=TPU python3 xla/test/test_train_mp_imagenet.py --fake_data --batch_size=256 --num_epochs=1
Jika Anda dapat melatih model menggunakan data palsu, Anda dapat mencoba pelatihan pada
data sebenarnya, seperti ImageNet. Untuk petunjuk cara mendownload ImageNet, lihat
Mendownload ImageNet. Dalam perintah skrip pelatihan,
tanda --datadir
menentukan lokasi set data yang akan dilatih.
Perintah berikut mengasumsikan set data ImageNet berada di ~/imagenet
.
(vm) $ PJRT_DEVICE=TPU python3 xla/test/test_train_mp_imagenet.py --datadir=~/imagenet --batch_size=256 --num_epochs=1
Pembersihan
Agar tidak perlu membayar 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.
Putuskan koneksi dari VM TPU:
(vm) $ exit
Perintah Anda kini akan menjadi
username@projectname
, yang menunjukkan bahwa Anda berada di Cloud Shell.Hapus VM TPU Anda.
$ gcloud compute tpus tpu-vm delete resnet50-tutorial \ --zone=us-central2-b
Langkah selanjutnya