Guía de inicio rápido

Descripción general: En esta guía de inicio rápido, se proporciona una breve introducción al uso de Cloud TPU. Usarás Cloud TPU para ejecutar MNIST, un conjunto de datos canónico de dígitos escritos a mano que se suele usar para probar métodos nuevos de aprendizaje automático.

Este tema está dirigido a usuarios nuevos de Cloud TPU. Para explorar Cloud TPU de forma más detallada, ejecuta una de nuestras colaboraciones. También puedes ver uno de los numerosos ejemplos de la sección Instructivos.

Antes de comenzar

Antes de comenzar este instructivo, verifica que tu proyecto de Google Cloud esté configurado correctamente. Para obtener más información, consulta la página sobre cómo configurar una cuenta y un proyecto de Cloud TPU.

En este instructivo, se usan los siguientes componentes facturables de Google Cloud:

  • Compute Engine
  • Cloud TPU
  • Cloud Storage

Usa la calculadora de precios para generar una estimación de los costos según el uso previsto. Los usuarios nuevos de Google Cloud pueden ser elegibles para obtener una prueba gratuita.

En esta sección se proporciona información sobre cómo configurar el almacenamiento de Cloud Storage y una VM de Compute Engine.

  1. Abre una ventana de Cloud Shell.

    Abre Cloud Shell

  2. Crea una variable para el ID de tu proyecto.

    export PROJECT_ID=project-id
    
  3. Configura la herramienta de línea de comandos gcloud para usar el proyecto en el que deseas crear Cloud TPU.

    gcloud config set project $PROJECT_ID
    
  4. Crea un depósito de Cloud Storage con el siguiente comando:

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

    Este depósito de Cloud Storage almacena los datos que usas para entrenar tu modelo y los resultados del entrenamiento.

  5. Inicia una VM de Compute Engine y Cloud TPU con el comando ctpu up.

    $ ctpu up --zone=us-central1-b  \
    --tf-version=2.3.1 \
    --name=tpu-quickstart
    
  6. Aparece la configuración que especificaste. Ingresa y para aprobar o n para cancelar.

  7. Cuando el comando ctpu up termine de ejecutarse, verifica que el indicador de shell haya cambiado de username@project a username@tpuname. Este cambio indica que accediste a tu VM de Compute Engine.

    Si no estás conectado a la instancia de Compute Engine, ejecuta el siguiente comando para conectarte:

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

    Mientras sigues estas instrucciones, ejecuta cada comando que empiece con (vm)$ en la ventana de sesión de tu VM.

Ejecuta el modelo de TPU MNIST

El código fuente para el modelo de TPU MNIST está disponible en GitHub.

Configura variables de entorno

Crea las siguientes variables: Reemplaza bucket-name por el nombre de tu depósito:

(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"

Entrena el modelo en Cloud TPU

  1. Ve al directorio en el que se almacena el modelo:

    (vm)$ cd /usr/share/models/official/vision/image_classification
    
  2. Ejecuta la secuencia de comandos de entrenamiento de MNIST:

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

La secuencia de comandos de entrenamiento se ejecuta en menos de 5 minutos en una Cloud TPU v3-8 y muestra un resultado similar al siguiente:

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}

Limpia

Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en esta guía de inicio rápido.

  1. Desconéctate de la instancia de Compute Engine, si aún no lo hiciste:

    (vm)$ exit
    

    El mensaje ahora debería mostrar user@projectname, que indica que estás en Cloud Shell.

  2. En Cloud Shell, ejecuta ctpu delete con la marca --zone que usaste cuando configuraste la VM de Compute Engine y Cloud TPU. Esto borra tanto tu VM como tu Cloud TPU.

    $ ctpu delete --zone=us-central1-b \
      --name=tpu-quickstart
    
  3. Ejecuta ctpu status para asegurarte de no tener instancias asignadas y así evitar cargos innecesarios por el uso de TPU. La eliminación puede tomar varios minutos. Una respuesta como la que se muestra a continuación indica que no hay más instancias asignadas:

    $ 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. Ejecuta gsutil como se muestra y reemplaza bucket-name por el nombre del depósito de Cloud Storage que creaste para este instructivo:

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

Qué sigue

En esta guía de inicio rápido, se proporcionó una breve introducción al trabajo con Cloud TPU. En este punto, tienes la base para realizar las acciones siguientes:

  • Obtener más información sobre Cloud TPU
  • Configurar Cloud TPU para tus propias aplicaciones

Más información

MNIST en Keras Prueba a usar Cloud TPU con la ejecución del modelo MNIST en un entorno colab.
Descripción general del producto Revisa las características y los beneficios clave de Cloud TPU.
Cloud Tensor Processing Unit (TPU) Obtén más información sobre Cloud TPU, sus capacidades y sus ventajas.
Precios Revisa la información de precios para Cloud TPU.

Configurar

Elige un servicio de TPU Aprende sobre las diferentes opciones para trabajar con Cloud TPU, como Compute Engine, Google Kubernetes Engine o AI Platform.
Tipos y zonas de TPU Consulta qué tipos de TPU están disponibles en cada zona.
Versiones de TPU Consulta las diferentes versiones de TPU y aprende a seleccionar la más adecuada para tu aplicación.