Configurando e conectando-se à sua conta do Google Cloud

Veja em TensorFlow.org Executar no Google Colab Ver no GitHub Baixar notebook Logotipo do KaggleParticipe de uma corrida no Kaggle

Este guia tem como objetivo auxiliar usuários iniciantes na configuração de uma conta do Google Cloud Platform, especificamente com a intenção de usar o TensorFlow Cloud para executar treinamentos em escala no Google Cloud AI Platform com facilidade. O TensorFlow Cloud fornece APIs que permitem aos usuários alternar facilmente entre a depuração, o treinamento e o ajuste de código Keras e TensorFlow em um ambiente local ou do Kaggle, e o treinamento/ajuste distribuído na nuvem.

1. Inscreva-se no Google Cloud Platform.

Para começar, acesse https://cloud.google.com/ e clique em “Comece gratuitamente”. O cadastro é feito em duas etapas, onde você precisará fornecer seu nome, endereço e um cartão de crédito. A conta inicial é gratuita e inclui um crédito de US$ 300 que você pode usar. Para esta etapa, você precisará fornecer uma Conta do Google (ou seja, sua conta do Gmail) para fazer login.

Após concluir o processo de inscrição, você será redirecionado para a página inicial do Google Cloud Platform . Clique na guia "Início" e anote o ID e o número do seu projeto. (Consulte Identificando projetos )

GCP_PROJECT_ID = 'YOUR_PROJECT_ID'
PROJECT_NUMBER = 'YOUR_PROJECT_NUMBER'

2. Habilite o SDK do Google Cloud e autentique seu notebook.

Agora que você configurou seu projeto, podemos continuar com as etapas de configuração restantes diretamente deste notebook. Existem três tipos de notebook; esta etapa (etapa nº 2) é ligeiramente diferente para cada um deles, mas as etapas restantes (etapas nº 3 a nº 6) são as mesmas para todos os notebooks.

  • 2.1. Autenticação para notebooks do Kaggle
  • 2.2. Autenticação para o notebook do Colab
  • 2.3. Autenticação para notebooks de IA na nuvem - Não compatível.

2.1 Configurar a autenticação para um notebook do Kaggle

Se você estiver usando um notebook do Kaggle, precisará repetir esta etapa para qualquer novo notebook que usar com este projeto. No seu notebook, clique em Complementos -> SDK do Google Cloud e siga as instruções na tela. Em seguida, execute o seguinte comando para adicionar suas credenciais de autenticação a este notebook.

import sys
if "kaggle_secrets" in sys.modules:
    from kaggle_secrets import UserSecretsClient
    UserSecretsClient().set_gcloud_credentials(project=GCP_PROJECT_ID)

2.2 Configurar a autenticação para um notebook do Colab

Se você estiver usando um notebook do Colab, precisará repetir esta etapa para qualquer novo notebook que usar com este projeto. Execute o seguinte comando para adicionar suas credenciais de autenticação a este notebook.

import sys
if "google.colab" in sys.modules:
    from google.colab import auth
    auth.authenticate_user()

O próximo passo é configurar a conta de faturamento para este projeto. O Google Cloud cria um projeto padrão chamado "Meu Primeiro Projeto". Usaremos este projeto padrão. Use o ID do seu projeto (obtido na etapa 1) para executar os seguintes comandos. Isso mostrará o ID da sua conta de faturamento; anote-o para a próxima etapa.

gcloud beta billing accounts list

Utilize o seu ID de conta de faturamento (Bfing Account_ID) fornecido acima e execute o seguinte comando para vincular sua conta de faturamento ao seu projeto.

Observe que, se você estiver usando um projeto existente, poderá não ver um Account_ID. Isso significa que você não tem as permissões adequadas para executar os comandos a seguir. Entre em contato com o administrador ou crie um novo projeto.

BILLING_ACCOUNT_ID = 'YOUR_BILLING_ACCOUNT_ID'

!gcloud beta billing projects link $GCP_PROJECT_ID --billing-account $BILLING_ACCOUNT_ID

4. Habilite as APIs necessárias para o tensorflow-cloud em seu projeto.

Para o tensorflow_cloud, usamos duas APIs específicas: a API AI Platform Training Jobs e a API Cloud Builder . Observe que esta configuração é feita apenas uma vez para este projeto; você não precisa executar este comando novamente para cada notebook.

gcloud services --project $GCP_PROJECT_ID enable ml.googleapis.com cloudbuild.googleapis.com

5. Crie um bucket do Google Cloud Storage.

Usaremos este bucket de armazenamento para ativos temporários, bem como para salvar os pontos de verificação do modelo. Anote o nome do bucket para referência futura. Observe que os nomes dos buckets são exclusivos em todo o mundo.

BUCKET_NAME = 'YOUR_BUCKET_NAME'

GCS_BUCKET = f'gs://{BUCKET_NAME}'
!gsutil mb -p $GCP_PROJECT_ID $GCS_BUCKET

Crie uma conta de serviço para trabalhos de otimização da HP.

Esta etapa é necessária para usar o HP Tuning no Google Cloud com o CloudTuner. Para criar uma conta de serviço e conceder a ela acesso de editor de projetos, execute o seguinte comando e anote o nome da sua conta de serviço.

SERVICE_ACCOUNT_NAME ='YOUR_SERVICE_ACCOUNT_NAME'

SERVICE_ACCOUNT_EMAIL = f'{SERVICE_ACCOUNT_NAME}@{GCP_PROJECT_ID}.iam.gserviceaccount.com'
!gcloud iam --project $GCP_PROJECT_ID service-accounts create $SERVICE_ACCOUNT_NAME
!gcloud projects add-iam-policy-binding $GCP_PROJECT_ID \
    --member serviceAccount:$SERVICE_ACCOUNT_EMAIL \
    --role=roles/editor

A default AI Platform service account é identificada por um endereço de e-mail no formato service-PROJECT_NUMBER@cloud-ml.google.com.iam.gserviceaccount.com . Usando o número do seu projeto da primeira etapa, criamos o e-mail da conta de serviço e concedemos a função de administrador default AI Platform service account (roles/iam.serviceAccountAdmin) à sua nova conta de serviço.

DEFAULT_AI_PLATFORM_SERVICE_ACCOUNT = f'service-{PROJECT_NUMBER}@cloud-ml.google.com.iam.gserviceaccount.com'

!gcloud iam --project $GCP_PROJECT_ID service-accounts add-iam-policy-binding \
--role=roles/iam.serviceAccountAdmin \
--member=serviceAccount:$DEFAULT_AI_PLATFORM_SERVICE_ACCOUNT \
$SERVICE_ACCOUNT_EMAIL

Parabéns!

Agora você está pronto para executar o tensorflow-cloud. Observe que essas etapas precisam ser executadas apenas uma vez. Depois de configurar seu projeto, você poderá reutilizar o mesmo projeto e configuração de bucket para execuções futuras. Para novos notebooks, você precisará repetir a etapa dois para adicionar suas credenciais de autenticação do Google Cloud.

Anote os seguintes valores, pois eles são necessários para executar o tensorflow-cloud.

print(f"Your GCP_PROJECT_ID is:       {GCP_PROJECT_ID}")
print(f"Your SERVICE_ACCOUNT_NAME is: {SERVICE_ACCOUNT_NAME}")
print(f"Your BUCKET_NAME is:          {BUCKET_NAME}")
Your GCP_PROJECT_ID is:       YOUR_PROJECT_ID
Your SERVICE_ACCOUNT_NAME is: YOUR_SERVICE_ACCOUNT_NAME
Your BUCKET_NAME is:          YOUR_BUCKET_NAME