Como criar uma instância de VM de aprendizado profundo do TensorFlow

Esta página mostra como criar uma instância de imagens de VM de aprendizado profundo do TensorFlow com o TensorFlow e outras ferramentas pré-instaladas. É possível criar uma instância do TensorFlow no Cloud Marketplace no Console do Google Cloud ou usando a linha de comando.

Antes de começar

  1. Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
  2. No Console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  3. Verifique se o faturamento está ativado para seu projeto na nuvem. Saiba como confirmar se o faturamento está ativado para o projeto.

  4. Se estiver usando GPUs com sua VM de aprendizado profundo, verifique a página de cotas para garantir que você tenha GPUs suficientes disponíveis no seu projeto. Se as GPUs não estiverem listadas nessa página ou se você precisar de cotas adicionais, solicite um aumento de cota.

Como criar uma instância de VM de aprendizado profundo do TensorFlow no Google Cloud Marketplace

Para criar uma instância de VM de aprendizado profundo do TensorFlow no Cloud Marketplace, siga estas etapas:

  1. Acesse a página de VM de aprendizado profundo do Cloud Marketplace no Console do Google Cloud.

    Acessar a página de VM de aprendizado profundo do Cloud Marketplace

  2. Clique em Iniciar.

  3. Insira um Nome de implantação que será a raiz do nome da VM. O Compute Engine anexa -vm a esse nome ao nomear a instância.

  4. Selecione uma Zona.

  5. Em Tipo de máquina, selecione as especificações que você quer para a VM. Saiba mais sobre tipos de máquinas.

  6. Em GPUs, selecione o Tipo de GPU e o Número de GPUs. Se você não quiser usar GPUs, clique no botão Excluir GPU e pule para a etapa 7. Saiba mais sobre GPUs.

    1. Selecione um Tipo de GPU. Nem todos os tipos de GPU estão disponíveis em todas as zonas. Encontre uma combinação compatível.
    2. Selecione o Número de GPUs. Cada GPU permite números diferentes de GPUs. Encontre uma combinação compatível.
  7. Em Framework, selecione uma das versões do framework do TensorFlow.

  8. Se você estiver usando GPUs, precisará de um driver NVIDIA. É possível instalar o driver você mesmo ou selecionar Instalar driver de GPU NVIDIA automaticamente na primeira inicialização.

  9. Você tem a opção de selecionar Ativar o acesso ao JupyterLab por URL em vez de SSH (Beta). A ativação desse recurso Beta permite acessar sua instância do JupyterLab usando um URL. Qualquer pessoa que tenha o papel Editor ou Proprietário no seu projeto do Google Cloud poderá acessar esse URL. Atualmente, esse recurso funciona apenas nos Estados Unidos, na União Europeia e na Ásia.

  10. Selecione um tipo de disco de inicialização e um tamanho de disco de inicialização.

  11. Selecione as configurações de rede que você quer.

  12. Clique em Implantar.

Se você optar por instalar os drivers da NVIDIA, aguarde de três a cinco minutos para concluir a instalação.

Depois que a VM for implantada, a página será atualizada com instruções para acessar a instância.

Como criar uma instância de VM de aprendizado profundo do TensorFlow da linha de comando

Para usar a ferramenta de linha de comando gcloud na criação de uma nova instância de VM de aprendizado profundo, primeiro instale e inicialize o SDK do Cloud:

  1. Faça o download e instale o SDK do Cloud seguindo as instruções fornecidas em Como instalar o SDK do Google Cloud.
  2. Inicialize o SDK seguindo as instruções fornecidas em Como inicializar o SDK do Cloud.

Para usar o gcloud no Cloud Shell, primeiro ative o Cloud Shell seguindo as instruções fornecidas em Como iniciar o Cloud Shell.

É possível criar uma instância do TensorFlow com ou sem GPUs.

Sem GPUs

Para provisionar uma instância de VM de aprendizado profundo sem uma GPU:

export IMAGE_FAMILY="tf2-ent-latest-cpu"
export ZONE="us-west1-b"
export INSTANCE_NAME="my-instance"

gcloud compute instances create $INSTANCE_NAME \
  --zone=$ZONE \
  --image-family=$IMAGE_FAMILY \
  --image-project=deeplearning-platform-release

Opções:

  • --image-family precisa atender a uma das seguintes condições:
  • --image-project precisa ser deeplearning-platform-release.

Com uma ou mais GPUs

O Compute Engine oferece a opção de adicionar uma ou mais GPUs às instâncias da sua máquina virtual. As GPUs oferecem processamento mais rápido para muitas tarefas complexas de machine learning e dados. Para saber mais sobre GPUs, consulte GPUs no Compute Engine.

Para provisionar uma instância de VM de aprendizado profundo com uma ou mais GPUs:

export IMAGE_FAMILY="tf2-ent-latest-gpu"
export ZONE="us-west1-b"
export INSTANCE_NAME="my-instance"

gcloud compute instances create $INSTANCE_NAME \
  --zone=$ZONE \
  --image-family=$IMAGE_FAMILY \
  --image-project=deeplearning-platform-release \
  --maintenance-policy=TERMINATE \
  --accelerator="type=nvidia-tesla-v100,count=1" \
  --metadata="install-nvidia-driver=True"

Opções:

  • --image-family precisa atender a uma das seguintes condições:

  • --image-project precisa ser deeplearning-platform-release.

  • --maintenance-policy precisa ser TERMINATE. Para saber mais, consulte Restrições da GPU.

  • --accelerator especifica o tipo de GPU a ser usado. Precisa ser especificado no formato --accelerator="type=TYPE,count=COUNT". Os valores aceitos de TYPE são:

    • nvidia-tesla-v100 (count=1 ou 8);
    • nvidia-tesla-p100 (count=1, 2 ou 4);
    • nvidia-tesla-p4 (count=1, 2 ou 4);
    • nvidia-tesla-k80 (count=1, 2, 4 ou 8).

    Nem todos os tipos de GPU são aceitos em todas as regiões. Para detalhes, consulte GPUs no Compute Engine.

  • --metadata é usado para especificar que o driver NVIDIA será instalado em seu nome. O valor é install-nvidia-driver=True. Se especificado, o Compute Engine carrega o driver estável mais recente na primeira inicialização e executa as etapas necessárias (incluindo uma reinicialização final para ativar o driver).

Se você optou por instalar os drivers da NVIDIA, aguarde de 3 a 5 minutos para concluir a instalação.

Pode levar até cinco minutos para que a VM seja totalmente provisionada. Neste momento, não será possível executar o SSH em sua máquina. Quando a instalação for concluída, será possível efetuar SSH e executar nvidia-smi, para garantir que a instalação do driver foi bem-sucedida.

Quando você tiver configurado a imagem, será possível salvar um snapshot dela para que seja possível iniciar instâncias derivativas sem ter que esperar pela instalação do driver.

Sobre o TensorFlow Enterprise

O TensorFlow Enterprise é uma distribuição do TensorFlow que foi otimizada para ser executada no Google Cloud e inclui suporte de versão de longo prazo.

Como criar uma instância preemptiva

Crie uma instância preemptiva da VM de aprendizado profundo. Essa instância pode ser criada e executada a um preço muito mais baixo do que as instâncias normais. No entanto, o Compute Engine poderá parar essas instâncias (ou seja, forçar a interrupção delas) caso precise de acesso a esses recursos para outras tarefas. As instâncias preemptivas sempre são interrompidas após 24 horas. Para saber mais sobre instâncias preemptivas, consulte Instâncias de VM preemptivas.

Para criar uma instância de VM preemptiva de aprendizado profundo:

  • Siga as instruções acima para criar uma nova instância usando a linha de comando. Para o comando gcloud compute instances create, anexe o seguinte:

      --preemptible

A seguir

Para instruções sobre como se conectar à nova instância de VM de aprendizado profundo por meio do Console do Cloud ou da linha de comando, consulte Como se conectar a instâncias. O nome da instância é o nome da implantação que você especificou com o -vm anexado.