Referência da CTPU

Visão geral

A ferramenta de código aberto ctpu é usada para criar um lote de recursos de computação, que consistem em uma VM do Compute Engine e um ou mais dispositivos do Cloud TPU. Essa ferramenta vem pré-instalada no Cloud Shell.

No GitHub, é possível encontrar a documentação e o código de ctpu.

A ferramenta ctpu usa a seguinte sintaxe:

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

A seguir, os subcomandos para ctpu:

auth

Descrição
Define ou exibe autorizações para Cloud TPUs.
Uso
ctpu auth <flags> <subcommand> <subcommand args>
Exemplo
ctpu auth list --project="my-project" --zone=us-central1-a
ctpu auth list --project my-project --zone us-central1-a
Subcomandos

O comando ctpu auth aceita os seguintes subcomandos:

  • add-bigtable: garante que o Cloud TPU seja autorizado no Cloud Bigtable.
  • add-gcs: garante que o Cloud TPU seja autorizado no Cloud Storage.
  • list: exibe autorizações de conta de serviço do Cloud TPU.
  • commands: lista todos os nomes de comandos.
  • flags: descreve todas as flags de nível superior conhecidas.
  • help: descreve subcomandos e suas sintaxes.
Flags opcionais

Os comandos a seguir são opcionais para ctpu auth. name | project | zone

delete (rm)

Descrição
Exclui a VM do Compute Engine e a Cloud TPU.
Uso
ctpu rm <flags>
Exemplo
ctpu rm --zone=us-central1-b

help

Descrição
Lista todos os subcomandos ctpu e sinalizações de nível superior.
Uso
ctpu help
ctpu help <subcommand>
Exemplo
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`

list (ls)

Descrição
Lista todas as VMs do Compute Engine e a Cloud TPU na zona especificada.
Uso
ctpu ls <flags>
Exemplo
ctpu ls --zone=us-central1-b

pause (zz)

Descrição

Interrompe a VM do Compute Engine e exclui o Cloud TPU. Interrompe a cobrança pelo uso do Cloud TPU até que você execute ctpu up.

Para garantir que o Cloud TPU seja interrompido, especifique a zona e o nome dele na linha de comando.

Uso
ctpu pause <name, zone>
Exemplo
ctpu pause --name=my-tpu --zone=us-central1-a  // pause the named TPU
in the specified zone
Descrição
Exibe na tela a configuração atual do nome do Cloud TPU, do nome do projeto e da zona.
Exemplo
ctpu print-config

quota

Descrição
Exiba um URL em que as cotas podem ser vistas.
Uso
ctpu quota
Exemplo
ctpu quota
Output: Quotas cannot currently be displayed within ctpu.
To view your quota, open <url>
Request additional quota from <url>

restart

Descrição

Reinicia um Cloud TPU que ainda está no estado RUNNING (mostrado em ctpu status), mas parou de ser executado devido a um problema de hardware. Use gcloud compute tpu start ou o botão INICIAR na página Compute Engine > TPUs do console do Cloud se a TPU estiver no estado INTERROMPIDO.

restart não reinicia um Cloud TPU interrompido. Se o Cloud TPU tiver sido interrompido, execute ctpu delete e ctpu up.

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

status (st)

Descrição

Consulta as APIs do GCP (somente na zona padrão) para determinar o status atual do Cloud TPU e da VM do Compute Engine.

Uso

ctpu st

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

tpu-locations.

Descrição
Lista todas as zonas em que os tipos de TPU estão disponíveis.
Uso
ctpu tpu-locations
Saída
Cloud TPU Locations:
    asia-east1-c
    europe-west4-a
    us-central1-a
    us-central1-b
    us-central1-c

tpu-sizes

Descrição
Lista todos os tamanhos de TPU disponíveis na zona especificada. Alguns tamanhos estão disponíveis somente em algumas zonas. (padrão = zona padrão)
Uso
tpu-sizes <zone>
Exemplo
ctpu tpu-sizes --zone=us-central1-a

up

Descrição

Chama um conjunto de recursos ctpu. Na primeira vez que você executa ctpu up em um projeto, ele leva mais tempo do que nas execuções seguintes porque realiza tarefas como propagação de chave SSH e ativação de API.

  • Ativa os serviços do Cloud TPU e do Compute Engine.
  • Cria uma VM do Compute Engine com a última versão estável do TensorFlow pré-instalada.
  • Atribui uma zona padrão, como us-central1-b, com base na sua localização.
  • Comunica o nome do Cloud TPU à VM do Compute Engine como uma variável de ambiente (TPU_NAME).
  • Garante que o Cloud TPU tenha acesso aos recursos necessários do projeto do Google Cloud . Para isso, são concedidos papéis específicos do IAM à conta de serviço do Cloud TPU.
  • Executa várias outras verificações.
  • Faz seu login na nova VM do Compute Engine. O prompt de shell muda de username@project para username@tpuname.

É possível executar ctpu up com a frequência que você quiser. Por exemplo, se você perder a conexão SSH com a VM do Compute Engine, execute ctpu up para restaurar a conexão. Especifique uma zona se o Compute Engine não estiver na zona padrão. Exemplo:

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

--disk-size-gb
Configura o tamanho do volume raiz da VM do Compute Engine. O valor precisa ser um número inteiro (padrão = 250).

--dry-run
Não faz alterações. Imprime apenas o que teria acontecido.

--forward-agent
Ativa o encaminhamento do agente SSH ao usá-lo na VM do Compute Engine. O encaminhamento do agente SSH permite o acesso a repositórios compartilhados (como o GitHub) sem colocar chaves privadas na VM do Compute Engine (padrão = true).

--forward-ports
Encaminha automaticamente as portas úteis da VM do Compute Engine para a máquina local. As portas encaminhadas são: 6006 (TensorBoard), 8888 (notebooks do jupyter), 8470 (porta TPU) e 8466 (porta de criador de perfis TPU). Padrão = true.

--gce-image
Substitui a imagem do Compute Engine escolhida automaticamente. Use essa flag com suas próprias imagens personalizadas, em vez das fornecidas com o TensorFlow instalado.

--gcp-network
Especifica a rede em que o Cloud TPU e a VM associada são criados. Consulte a Visão geral da rede de nuvem privada virtual (VPC) para informações sobre redes (padrão = rede padrão).

--log-http
Imprime o conteúdo completo dos pares de solicitação HTTP/resposta. Para ativar a impressão, defina esta sinalização como true. Use-a quando precisar de saída de registro para arquivar um relatório de bug em ctpu. Consulte o README do ctpu para mais detalhes.

--machine-type
Configura o tamanho da VM do Compute Engine. Uma lista completa dos tipos de máquinas está disponível na página Tipos de máquinas do Cloud (padrão = n1-standard-2).

--name
Substitui o nome a ser usado para as VMs e o Cloud TPU (padrão = seu nome de usuário).

--noconf
Ignora a confirmação.

--preemptible
Cria um nó do Cloud TPU preemptivo. Um Cloud TPU preemptivo custa menos por hora do que um não preemptivo. O serviço do Cloud TPU pode encerrar um dispositivo preemptivo a qualquer momento (padrão = não preemptivo).

--preemptible-vm
Cria uma VM preemptiva do Compute Engine. Ela custa menos por hora do que uma não preemptiva. O serviço do Compute Engine pode encerrar a instância de VM a qualquer momento (padrão = não preemptivo).

--print-welcome
Sempre mostra a mensagem de boas-vindas.

--project
Substitui o nome do projeto do GCP a ser usado ao alocar VMs e TPUs. Especifica um valor a partir dos metadados da configuração em nuvem ou do Compute Engine, normalmente o nome do projeto. Se um valor válido não for encontrado, forneça um na linha de comando.

--tf-version
Define a versão do TensorFlow a ser usada ao criar a VM do Compute Engine e o Cloud TPU (padrão = última versão estável).

--tpu-only
Aloca apenas um Cloud TPU. Use somente se você já tiver uma VM disponível.

--tpu-size
Configura o tamanho e a versão do hardware de um Cloud TPU.

--use-dl-images
Usa imagens de VM de aprendizado profundo em vez de imagens de máquina da TPU (padrão = imagens da máquina de TPU). Consulte os documentos: https://cloud.google.com/deep-learning-vm/.

--vm-only
Aloca apenas uma VM. Use se você não estiver com tudo pronto para configurar e pagar por uma TPU.

--zone
Substitui a zona do Compute Engine que será usada para alocar VMs e o Cloud TPU. Na linha de comando, execute ctpu help up para visualizar a lista.

version

Descrição
Imprime a versão do ctpu instalado.
Uso
ctpu version
Saída
ctpu version
Output: ctpu version: 1.9