Início rápido

Visão geral: este guia de início rápido apresenta uma breve introdução de como trabalhar com a Cloud TPU. Nele, você usará a Cloud TPU para executar o MNIST, um conjunto de dados canônico digitados à mão que é frequentemente usado para testar novas abordagens de machine learning.

Este tópico é destinado a usuários novos na Cloud TPU. Para uma exploração mais detalhada da Cloud TPU, tente executar um de nossos colabs. Também é possível ver um dos muitos exemplos na seção Tutoriais.

Antes de começar

Antes de começar o tutorial, verifique se o projeto do Google Cloud foi configurado corretamente. Para mais informações, consulte Configurar uma conta e um projeto do Cloud TPU.

Neste tutorial, há componentes faturáveis do Google Cloud, a saber:

  • Compute Engine
  • Cloud TPU
  • Cloud Storage

Use a calculadora de preços para gerar uma estimativa de custos baseada na projeção de uso. Novos usuários do Google Cloud podem estar qualificados para uma avaliação gratuita.

Nesta seção, você verá como configurar o armazenamento do Cloud Storage e uma VM do Compute Engine.

  1. Abra uma janela do Cloud Shell.

    Abra o Cloud Shell

  2. Crie uma variável para o ID do seu projeto.

    export PROJECT_ID=project-id
    
  3. Configure a ferramenta de linha de comando gcloud para usar o projeto em que a Cloud TPU será criada.

    gcloud config set project $PROJECT_ID
    
  4. Crie um bucket do Cloud Storage usando o seguinte comando:

    gsutil mb -p ${PROJECT_ID} -c standard -l us-central1 -b on gs://bucket-name
    

    Esse bucket do Cloud Storage armazena os dados usados para treinar o modelo e os resultados do treinamento.

  5. Use o comando ctpu up para iniciar uma VM do Compute Engine e a Cloud TPU.

    $ ctpu up --zone=us-central1-b  \
    --tf-version=2.3.1 \
    --name=tpu-quickstart
    
  6. A configuração especificada aparecerá. Digite y para aprovar ou n para cancelar.

  7. Quando o comando ctpu up terminar a execução, verifique se o prompt do shell foi alterado de username@project para username@tpuname. Essa alteração mostra que você fez login na VM do Compute Engine.

    Se você não estiver conectado à instância do Compute Engine, conecte-se executando o seguinte comando:

    gcloud compute ssh tpu-quickstart --zone=us-central1-b
    

    Ao seguir essas instruções, execute cada comando iniciado por (vm)$ na janela de sessão da VM.

Executar o modelo de TPU do MNIST

O código-fonte do modelo de TPU do MNIST está disponível no GitHub (em inglês).

Configurar variáveis de ambiente

Crie as variáveis a seguir. Substitua bucket-name pelo nome do seu bucket:

(vm)$ export STORAGE_BUCKET=gs://bucket-name
(vm)$ export TPU_NAME=tpu-quickstart
(vm)$ export MODEL_DIR=$STORAGE_BUCKET/mnist
(vm)$ DATA_DIR=$STORAGE_BUCKET/data
(vm)$ export PYTHONPATH="$PYTHONPATH:/usr/share/models"

Treinar o modelo no Cloud TPU

  1. Mude para o diretório que armazena o modelo:

    (vm)$ cd /usr/share/models/official/vision/image_classification
    
  2. Execute o script de treinamento do MNIST:

    (vm)$ python3 mnist_main.py \
      --tpu=$TPU_NAME \
      --model_dir=$MODEL_DIR \
      --data_dir=$DATA_DIR \
      --train_epochs=10 \
      --distribution_strategy=tpu \
      --download
    

O script de treinamento é executado em menos de cinco minutos em um Cloud TPU v3-8 e exibe uma saída semelhante a:

I1203 03:43:15.936553 140096948798912 mnist_main.py:165]
Run stats: {'loss': 0.11427700750786683, 'training_accuracy_top_1': 0.9657697677612305,
'accuracy_top_1': 0.9730902910232544, 'eval_loss': 0.08600160645114051}

Limpar

Para evitar cobranças na sua conta do Google Cloud pelos recursos usados neste guia de início rápido, siga estas etapas:

  1. Desconecte-se da instância do Compute Engine, caso ainda não tenha feito isso:

    (vm)$ exit
    

    Agora, o prompt será user@projectname, mostrando que você está no Cloud Shell.

  2. No Cloud Shell, execute ctpu delete com a sinalização --zone que você usou ao configurar a VM do Compute Engine e a Cloud TPU. Isso exclui sua VM e sua Cloud TPU.

    $ ctpu delete --zone=us-central1-b \
      --name=tpu-quickstart
    
  3. Execute ctpu status para garantir que não haja instâncias alocadas e evitar cobranças desnecessárias no uso da TPU. A exclusão pode levar vários minutos. Uma resposta como esta indica que não há mais instâncias alocadas:

    $ ctpu status --zone=us-central1-b
    
       2018/04/28 16:16:23 WARNING: Setting zone to "us-central1-b"
       No instances currently exist.
           Compute Engine VM:     --
           Cloud TPU:             --
    
  4. Execute gsutil conforme mostrado. Substitua bucket-name pelo nome do bucket do Cloud Storage criado para este tutorial:

    $ gsutil rm -r gs://bucket-name
    

A seguir

Neste guia de início rápido, apresentamos uma breve introdução de como trabalhar com o Cloud TPU. Neste ponto, você tem a base para:

  • saber mais sobre a Cloud TPU;
  • configurar o Cloud TPU para seus próprios aplicativos.

Saiba mais

MNIST on Keras (em inglês) Tente usar a Cloud TPU executando o modelo MNIST em um ambiente de colab.
Visão geral do produto Avalie os principais recursos e benefícios da Cloud TPU.
Unidades de processamento de tensor do Cloud (Cloud TPUs) Leia mais sobre a Cloud TPU, seus recursos e suas vantagens.
Preços Avalie as informações de preços do Cloud TPU.

Configuração

Como escolher um serviço de TPU Entenda as diferentes opções para trabalhar com a Cloud TPU, como o Compute Engine, o Google Kubernetes Engine ou o AI Platform.
Tipos e zonas de TPU Saiba quais tipos de TPU estão disponíveis em cada zona.
Versões de TPU Entenda as diferentes versões de TPU e saiba como selecionar o correto para seu aplicativo.