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 em um ou mais dispositivos da Cloud TPU. Essa ferramenta vem pré-instalada no Cloud Shell.

No GitHub, é possível encontrar a documentação e o código de ctpu (em inglês).

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 é compatível com os seguintes subcomandos:

  • add-bigtable - garante que a Cloud TPU seja autorizada para o Cloud Bigtable
  • add-gcs - garante que o Cloud TPU seja autorizado para o Cloud Storage
  • list - exibe autorizações de conta de serviço do Cloud TPU
  • commands - lista todos os nomes de comandos
  • flags - descreve todos os sinalizadores de nível superior conhecidos
  • help - descreve subcomandos e suas sintaxes
Sinalizações 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 a Cloud TPU. Interrompe a cobrança pelo uso da Cloud TPU até que você execute ctpu up.

Para garantir que a Cloud TPU seja interrompida, especifique a zona e o nome dela 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 da Cloud TPU, 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 uma Cloud TPU que ainda está no estado RUNNING (mostrado em ctpu status), mas parou de ser executada devido a um problema de hardware. Use gcloud compute tpu start ou START. na página Compute Engine > Página "TPUs" no console do Cloud se a TPU estiver no estado INTERROMPIDO.

restart não reinicia uma Cloud TPU interrompida. Se a Cloud TPU tiver sido interrompida, 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 da 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ê executar ctpu up em um projeto, ele leva mais tempo do que nas execuções seguintes porque está realizando tarefas como propagação de chave SSH e ativação de API.

  • Ativa os serviços do Cloud TPU e 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 da Cloud TPU para a 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, concedendo 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
Sinalizações

--disk-size-gb
Configura o tamanho do volume raiz da VM do Compute Engine. Ele 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 ter que 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 sinalização com suas próprias imagens personalizadas, em vez das fornecidas com o TensorFlow instalado.

--gcp-network
Especifica a rede em que a Cloud TPU e a VM associada são criadas. 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/resposta HTTP. 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 ctpu README (em inglês) para mais detalhes.

--machine-type
Configura o tamanho da sua 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 a Cloud TPU (padrão = seu nome de usuário).

--noconf
Ignora a confirmação.

--preemptible
Cria um nó da Cloud TPU preemptiva. 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 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 imprime 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 bom não puder ser 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 a Cloud TPU (padrão = última versão estável).

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

--tpu-size
Configura o tamanho e a versão de hardware de uma 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 da TPU). Consulte os documentos: https://cloud.google.com/deep-learning-vm/.

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

--zone
Substitua 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.

versão

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