Executar um cálculo em uma VM do Cloud TPU usando o TensorFlow
Neste guia de início rápido, mostramos como criar um Cloud TPU, instalar o TensorFlow e executar um cálculo em um Cloud TPU. Para um tutorial mais detalhado que mostra como treinar um modelo em um Cloud TPU, consulte um dos tutoriais do Cloud TPU.
Antes de começar
Antes de seguir este guia de início rápido, você precisa criar uma conta do Google Cloud, instalar a Google Cloud CLI e configurar o comando gcloud
.
Para mais informações, consulte Configurar uma conta e um projeto do Cloud TPU.
Criar uma VM do Cloud TPU com gcloud
Inicie um Cloud TPU do Compute Engine usando o comando gcloud
. Para mais
informações sobre o comando gcloud
, consulte a
referência do gcloud
.
Ao iniciar a VM da TPU, é possível usar a versão de software de TPU padrão mostrada no comando ou consultar as versões de software do Cloud TPU para especificar outra versão de software de TPU compatível.
$ gcloud compute tpus tpu-vm create tpu-name
--zone=europe-west4-a
--accelerator-type=v3-8
--version=tpu-vm-tf-2.16.1-pjrt
Descrições de sinalizações de comando
tpu-name
- O nome da Cloud TPU a ser criada.
zone
- A zona em que você planeja criar o Cloud TPU.
accelerator-type
- O tipo de acelerador especifica a versão e o tamanho do Cloud TPU que você quer criar. Para mais informações sobre os tipos de aceleradores compatíveis com cada versão de TPU, consulte Versões de TPU.
version
- A versão do software da TPU.
Conectar-se à VM do Cloud TPU
Conecte-se explicitamente à VM da TPU usando SSH. Se isso não acontecer, use o comando a seguir.
$ gcloud compute tpus tpu-vm ssh tpu-name
--zone europe-west4-a
Executar um exemplo usando o TensorFlow
Depois de se conectar à VM da TPU, defina a variável de ambiente a seguir.
(vm)$ export TPU_NAME=local
Ao criar a TPU, se você definir o parâmetro --version
como uma versão que termina com
-pjrt
, defina as seguintes variáveis de ambiente para ativar o ambiente de execução PJRT:
(vm)$ export NEXT_PLUGGABLE_DEVICE_USE_C_API=true (vm)$ export TF_PLUGGABLE_DEVICE_LIBRARY_PATH=/lib/libtpu.so
Crie um arquivo chamado tpu-test.py
no diretório atual e copie e cole
o script a seguir nele.
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)
Execute esse script com o seguinte comando:
(vm)$ python3 tpu-test.py
Esse script realiza um cálculo em cada TensorCore de uma TPU. O resultado será semelhante ao seguinte:
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) }
Limpar
Para evitar cobranças na sua conta do Google Cloud pelos recursos usados nesta página, siga as etapas a seguir.
Desconecte-se da instância do Compute Engine, caso ainda não tenha feito isso:
(vm)$ exit
Agora, o prompt precisa ser
username@projectname
, mostrando que você está no Cloud Shell.Exclua o Cloud TPU.
$ gcloud compute tpus tpu-vm delete tpu-name
--zone=europe-west4-aExecute
gcloud compute tpus tpu-vm list
para verificar se os recursos foram excluídos. A exclusão pode levar vários minutos.$ gcloud compute tpus tpu-vm list --zone=europe-west4-a
A seguir
Para mais informações sobre o Cloud TPU, consulte: