Referencia de CTPU

Información general

La herramienta de código abierto ctpu se usa para crear un grupo de recursos de computación, que consta de una VM de Compute Engine y uno o varios dispositivos de TPU de Cloud. La herramienta está preinstalada en tu Cloud Shell.

Puedes encontrar la documentación y el código de ctpu en GitHub.

La herramienta ctpu utiliza la siguiente sintaxis:

ctpu <subcommand> <flags> <subcommand> <subcommand args> 

Estos son los subcomandos de ctpu:

auth

Descripción
Define o muestra las autorizaciones de las TPUs de Cloud.
Uso
ctpu auth <flags> <subcommand> <subcommand args>
Ejemplo
ctpu auth list --project="my-project" --zone=us-central1-a
ctpu auth list --project my-project --zone us-central1-a
Subcomandos

El comando ctpu auth admite los siguientes subcomandos:

  • add-bigtable: comprueba que la TPU de Cloud esté autorizada para Cloud Bigtable
  • add-gcs: comprueba que la TPU de Cloud esté autorizada para Cloud Storage
  • list: muestra las autorizaciones de la cuenta de servicio de TPU de Cloud
  • commands: muestra todos los nombres de los comandos.
  • flags: describe todas las marcas de nivel superior conocidas.
  • help: describe los subcomandos y su sintaxis.
Marcas opcionales

Estos son comandos opcionales para ctpu auth. name | project | zone

Eliminar (rm)

Descripción
Elimina la máquina virtual de Compute Engine y la TPU de Cloud.
Uso
ctpu rm <flags>
Ejemplo
ctpu rm --zone=us-central1-b

ayuda

Descripción
Lista todos los subcomandos de ctpu y las marcas de nivel superior.
Uso
ctpu help
ctpu help <subcommand>
Ejemplo
ctpu help   // list all ctpu subcommands and top level flags

ctpu help auth   // list all flags that can be used with `ctpu auth`
ctpu help up   // list all flags that can be used with `ctpu up`

Lista (ls)

Descripción
Lista todas las VMs de Compute Engine y las TPUs de Cloud de la zona especificada.
Uso
ctpu ls <flags>
Ejemplo
ctpu ls --zone=us-central1-b

Pausar (zz)

Descripción

Detén la máquina virtual de Compute Engine y elimina la TPU de Cloud. Los cargos por el uso de TPU de Cloud se detendrán hasta que ejecutes ctpu up.

Para asegurarte de que la TPU de Cloud se detiene, debes especificar su nombre y la zona en la línea de comandos.

Uso
ctpu pause <name, zone>
Ejemplo
ctpu pause --name=my-tpu --zone=us-central1-a  // pause the named TPU
in the specified zone
Descripción
Imprime en pantalla la configuración actual del nombre de la TPU de Cloud, el nombre del proyecto y la zona.
Ejemplo
ctpu print-config

cuota

Descripción
Mostrar una URL donde se pueden ver las cuotas
Uso
ctpu quota
Ejemplo
ctpu quota
Output: Quotas cannot currently be displayed within ctpu.
To view your quota, open <url>
Request additional quota from <url>

restart

Descripción

Reinicia una TPU de Cloud que sigue en el estado RUNNING (EN EJECUCIÓN) (se muestra en ctpu status), pero que ha dejado de ejecutarse debido a un problema de hardware. Usa gcloud compute tpu start o el botón INICIAR de la página Compute Engine > TPUs de la consola de Cloud si la TPU está en el estado DETENIDO.

restart no reinicia una TPU de Cloud interrumpida. Debes ejecutar ctpu delete y ctpu up si tu TPU de Cloud se ha desalojado.

Uso
ctpu restart <flags>
Ejemplo
ctpu restart --zone=us-central1-a

Estado (st)

Descripción

Consulta las APIs de GCP (solo la zona predeterminada) para determinar el estado actual de tu TPU de Cloud y tu máquina virtual de Compute Engine.

Uso

ctpu st

Ejemplo
ctpu st --zone=us-central1-a
Status message:
  Your cluster is running!
    Compute Engine VM:  RUNNING
    Cloud TPU:     RUNNING 

tpu-locations

Descripción
Lista de todas las zonas en las que están disponibles los tipos de TPU.
Uso
ctpu tpu-locations
Salida
Cloud TPU Locations:
    asia-east1-c
    europe-west4-a
    us-central1-a
    us-central1-b
    us-central1-c

tpu-sizes

Descripción
Lista todos los tamaños de TPU disponibles en la zona especificada. Algunos tamaños solo están disponibles en determinadas zonas. (predeterminado = zona predeterminada)
Uso
tpu-sizes <zone>
Ejemplo
ctpu tpu-sizes --zone=us-central1-a

arriba

Descripción

Muestra un conjunto de recursos ctpu. La primera vez que ejecutas ctpu up en un proyecto, tarda más que en ejecuciones posteriores porque realiza tareas como la propagación de claves SSH y la activación de APIs.

  • Habilita los servicios Compute Engine y Cloud TPU.
  • Crea una máquina virtual de Compute Engine con la versión estable más reciente de TensorFlow preinstalada.
  • Asigna una zona predeterminada, como us-central1-b, en función de tu ubicación.
  • Transfiere el nombre de la TPU de Cloud a la máquina virtual de Compute Engine en forma de variable de entorno (TPU_NAME).
  • Asegura que tu TPU de Cloud tenga acceso a los recursos que necesita de tu Google Cloud proyecto. Para ello, otorga roles de gestión de identidades y accesos específicos a tu cuenta de servicio de TPU de Cloud.
  • Realiza otras comprobaciones.
  • Inicia sesión en tu nueva máquina virtual de Compute Engine. El prompt de la shell cambia de username@project a username@tpuname.

Puedes ejecutar ctpu up tantas veces como quieras. Por ejemplo, si pierdes la conexión SSH a la VM de Compute Engine, ejecuta ctpu up para restaurarla. Debes especificar una zona si tu instancia de Compute Engine no está en la zona predeterminada. Por ejemplo:

$ ctpu up --zone=us-central1-a
Uso
ctpu up <flags>
Ejemplo
ctpu up --tpu-size=v2-8 --disk-size-gb=320 --preemptible
Banderas

--disk-size-gb
Configura el tamaño del volumen raíz de tu máquina virtual de Compute Engine. El valor debe ser un número entero. (valor predeterminado: 250)

--dry-run
No hagas cambios; imprime solo lo que habría ocurrido.

--forward-agent
Habilita el reenvío del agente de SSH al conectarte a la VM de Compute Engine mediante SSH. El reenvío del agente SSH permite acceder a repositorios compartidos (como GitHub) sin tener que colocar claves privadas en la VM de Compute Engine. (valor predeterminado: true)

--forward-ports
Reenvía automáticamente los puertos útiles de la VM de Compute Engine a tu máquina local. Los puertos reenviados son 6006 (TensorBoard), 8888 (cuadernos de Jupyter), 8470 (puerto de TPU) y 8466 (puerto del generador de perfiles de TPU). (valor predeterminado: true)

--gce-image
Anula la imagen de Compute Engine elegida automáticamente. Usa esta marca cuando utilices tus propias imágenes personalizadas en lugar de las que se proporcionan con TensorFlow instalado.

--gcp-network
Especifica la red en la que se deben crear la TPU de Cloud y la VM asociada. Consulta la sección Información general sobre las redes de nube privada virtual (VPC) para obtener información sobre las redes. (predeterminado = red predeterminada)

--log-http
Imprime todo el contenido de los pares de solicitud y respuesta HTTP. Para habilitar la impresión, asigna el valor true a esta marca. Usa esta marca cuando necesites registrar la salida para enviar un informe de errores sobre ctpu. Consulta más información en el archivo ctpu README.

--machine-type
Configura el tamaño de tu VM de Compute Engine. Puedes consultar la lista completa de tipos de máquinas en la página Tipos de máquinas de Cloud. (valor predeterminado: n1-standard-2)

--name
Anula el nombre que se va a usar para las VMs y las TPUs de Cloud. (valor predeterminado: tu nombre de usuario)

--noconf
Salta la confirmación.

--preemptible
Crea un nodo de TPU de Cloud interrumpible. Una TPU de Cloud no garantizada cuesta menos por hora que una TPU de Cloud garantizada. El servicio Cloud TPU puede salir de un dispositivo interrumpible en cualquier momento. (predeterminado = no preferente)

--preemptible-vm
Crea una VM de Compute Engine no garantizada. Una VM interrumpible cuesta menos por hora que una VM no interrumpible. El servicio Compute Engine puede salir de la instancia de VM en cualquier momento. (predeterminado = no preferente)

--print-welcome
Imprime siempre el mensaje de bienvenida.

--project
Anula el nombre del proyecto de GCP que se va a usar al asignar VMs y TPUs. Especifica un valor de la configuración de nube o de los metadatos de Compute Engine. Normalmente, se trata del nombre de tu proyecto. Si no se encuentra un valor adecuado, debes proporcionar un valor en la línea de comandos.

--tf-version
Define la versión de TensorFlow que se va a usar al crear la máquina virtual de Compute Engine y la TPU de Cloud. (valor predeterminado = última versión estable)

--tpu-only
Asigna solo una TPU de Cloud. Úsala solo si ya tienes una máquina virtual disponible.

--tpu-size
Configura el tamaño y la versión de hardware de una TPU de Cloud.

--use-dl-images
Usa imágenes de máquinas virtuales de aprendizaje profundo (consulta la documentación en https://cloud.google.com/deep-learning-vm/) en lugar de imágenes de máquinas TPU. (valor predeterminado: imágenes de máquina de TPU)

--vm-only
Asigna solo una VM: usa esta opción si aún no quieres configurar ni pagar una TPU.

--zone
Anula la zona de Compute Engine que se va a usar al asignar VMs y TPU de Cloud. En la línea de comandos, ejecuta ctpu help up para ver la lista.

version

Descripción
Muestra la versión de ctpu instalada.
Uso
ctpu version
Salida
ctpu version
Output: ctpu version: 1.9