Menjalankan penghitungan di VM Cloud TPU menggunakan TensorFlow
Panduan memulai ini menunjukkan cara membuat Cloud TPU, menginstal TensorFlow, dan menjalankan penghitungan sederhana di Cloud TPU. Untuk tutorial yang lebih mendalam yang menunjukkan cara melatih model di Cloud TPU, lihat salah satu Tutorial Cloud TPU.
Sebelum memulai
Sebelum mengikuti panduan memulai ini, Anda harus membuat akun Google Cloud Platform, menginstal Google Cloud CLI, dan mengonfigurasi perintah gcloud
.
Untuk mengetahui informasi selengkapnya, lihat Menyiapkan akun dan project Cloud TPU.
Membuat VM Cloud TPU atau Node dengan gcloud
Luncurkan Cloud TPU Compute Engine 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
selengkapnya tentang perintah gcloud
, lihat
referensi gcloud
.
VM TPU
$ gcloud compute tpus tpu-vm create tpu-name \ --zone=europe-west4-a \ --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=tpu-name \ --zone=europe-west4-a \ --disk-size=300 \ --machine-type=n1-standard-16 \ --tf-version=2.12.0 \
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
diinstal di VM. Lihat 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.
Hubungkan ke VM Cloud TPU Anda
Saat menggunakan VM TPU, Anda harus secara eksplisit terhubung ke VM TPU menggunakan SSH. Saat menggunakan TPU Node, Anda harus otomatis terhubung ke SSH ke VM Compute Engine. Jika Anda tidak terhubung secara otomatis, gunakan perintah berikut.
VM TPU
$ gcloud compute tpus tpu-vm ssh tpu-name \ --zone europe-west4-a
Node TPU
$ gcloud compute ssh tpu-name \ --zone=europe-west4-a
Menjalankan contoh sederhana menggunakan TensorFlow
VM TPU
Setelah Anda terhubung ke VM TPU, tetapkan variabel lingkungan berikut.
(vm)$ export TPU_NAME=local
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
Buat file bernama tpu-test.py
di direktori saat ini, lalu salin dan tempel skrip berikut ke dalamnya.
import tensorflow as tf print("Tensorflow version " + tf.__version__) @tf.function def add_fn(x,y): z = x + y return z cluster_resolver = tf.distribute.cluster_resolver.TPUClusterResolver() tf.config.experimental_connect_to_cluster(cluster_resolver) tf.tpu.experimental.initialize_tpu_system(cluster_resolver) strategy = tf.distribute.TPUStrategy(cluster_resolver) x = tf.constant(1.) y = tf.constant(1.) z = strategy.run(add_fn, args=(x,y)) print(z)
Node TPU
Buat file bernama tpu-test.py
di direktori saat ini, lalu salin dan tempel skrip berikut ke dalamnya.
import tensorflow as tf
print("Tensorflow version " + tf.__version__)
tpu = tf.distribute.cluster_resolver.TPUClusterResolver(tpu='your-tpu-name') # TPU detection
print('Running on TPU ', tpu.cluster_spec().as_dict()['worker'])
tf.config.experimental_connect_to_cluster(tpu)
tf.tpu.experimental.initialize_tpu_system(tpu)
strategy = tf.distribute.experimental.TPUStrategy(tpu)
@tf.function
def add_fn(x,y):
z = x + y
return z
x = tf.constant(1.)
y = tf.constant(1.)
z = strategy.run(add_fn, args=(x,y))
print(z)
Jalankan skrip ini dengan perintah berikut:
(vm)$ python3 tpu-test.py
Skrip ini menjalankan komputasi sederhana pada setiap TensorCore TPU. Output-nya akan terlihat seperti berikut:
PerReplica:{ 0: tf.Tensor(2.0, shape=(), dtype=float32), 1: tf.Tensor(2.0, shape=(), dtype=float32), 2: tf.Tensor(2.0, shape=(), dtype=float32), 3: tf.Tensor(2.0, shape=(), dtype=float32), 4: tf.Tensor(2.0, shape=(), dtype=float32), 5: tf.Tensor(2.0, shape=(), dtype=float32), 6: tf.Tensor(2.0, shape=(), dtype=float32), 7: tf.Tensor(2.0, shape=(), dtype=float32) }
Pembersihan
Agar akun Google Cloud Anda tidak dikenakan biaya untuk resource yang digunakan pada halaman ini, ikuti langkah-langkah berikut.
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 Cloud TPU Anda.
VM TPU
$ gcloud compute tpus tpu-vm delete tpu-name \ --zone=europe-west4-a
Node TPU
$ gcloud compute tpus execution-groups delete tpu-name \ --zone=europe-west4-a
Verifikasi bahwa resource telah dihapus dengan menjalankan
gcloud compute tpus tpu-vm list
. Penghapusan memerlukan waktu beberapa menit.VM TPU
$ gcloud compute tpus tpu-vm list --zone=europe-west4-a
Node TPU
$ gcloud compute tpus execution-groups list --zone=europe-west4-a
Langkah selanjutnya
Untuk mengetahui informasi selengkapnya tentang Cloud TPU, lihat: