Configuración y conexión a su cuenta de Google Cloud

Ver en TensorFlow.org Ejecutar en Google Colab Ver en GitHub Descargar libreta logotipo de KaggleCorre en Kaggle

Esta guía es para ayudar a los usuarios primerizos a configurar una cuenta de Google Cloud Platform específicamente con la intención de usar tensorflow_cloud para ejecutar fácilmente la capacitación a escala en Google Cloud AI Platform. TensorFlow Cloud proporciona API que permiten a los usuarios pasar fácilmente de la depuración, el entrenamiento y el ajuste del código de Keras y TensorFlow en un entorno local o kaggle al entrenamiento/ajuste distribuido en la nube.

1. Regístrese en Google Cloud Platform

Para comenzar, vaya a https://cloud.google.com/ y haga clic en "Comenzar gratis". Este es un proceso de registro de dos pasos en el que deberá proporcionar su nombre, dirección y una tarjeta de crédito. La cuenta de inicio es gratis y viene con un crédito de $ 300 que puede usar. Para este paso, deberá proporcionar una cuenta de Google (es decir, su cuenta de Gmail) para iniciar sesión.

Después de completar el proceso de registro, será redirigido a la página de bienvenida de Google Cloud Platform . haga clic en la pestaña "Inicio" y tome nota de su ID de proyecto y número de proyecto. (ver Identificación de proyectos )

GCP_PROJECT_ID = 'YOUR_PROJECT_ID'
PROJECT_NUMBER = 'YOUR_PROJECT_NUMBER'

2. Habilite Google Cloud SDK y autentique su computadora portátil

Ahora que ha configurado su proyecto, podemos continuar con el resto de los pasos de configuración directamente desde este cuaderno. Hay tres tipos de cuadernos, este paso (paso #2) es ligeramente diferente para cada cuaderno, el resto de los pasos (pasos #3 a #6) son los mismos para todos los cuadernos.

  • 2.1. Autenticación para cuadernos Kaggle
  • 2.2. Autenticación para el cuaderno de Colab
  • 2.3. Autenticación para portátiles Cloud AI: no compatible.

2.1 Configuración de autenticación para un cuaderno Kaggle

Si está utilizando un cuaderno Kaggle, deberá repetir este paso para cualquier cuaderno nuevo que use con este proyecto. En su computadora portátil, haga clic en Complementos -> SDK de Google Cloud y siga las instrucciones en el aviso. Luego ejecute el siguiente comando para agregar sus credenciales de autenticación a este cuaderno.

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

2.2 Configuración de autenticación para una computadora portátil Colab

Si está utilizando un cuaderno de Colab, deberá repetir este paso para cualquier cuaderno nuevo que use con este proyecto. Ejecute el siguiente comando para agregar sus credenciales de autenticación a este cuaderno.

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

El siguiente paso es configurar la cuenta de facturación para este proyecto. Google Cloud crea un proyecto para usted de forma predeterminada que se llama "Mi primer proyecto". Usaremos este proyecto predeterminado. Use su ID de proyecto (del paso 1) para ejecutar los siguientes comandos. Esto le mostrará su Billing Account_ID, tome nota de esto para el siguiente paso.

gcloud beta billing accounts list

Use su Billing Account_ID de arriba y ejecute lo siguiente para vincular su cuenta de facturación con su proyecto.

Tenga en cuenta que si usa un proyecto existente, es posible que no vea un Account_ID, esto significa que no tiene los permisos adecuados para ejecutar los siguientes comandos, comunicarse con su administrador o crear un nuevo proyecto.

BILLING_ACCOUNT_ID = 'YOUR_BILLING_ACCOUNT_ID'

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

4. Habilite las API requeridas para tensorflow-cloud en su proyecto

Para tensorflow_cloud usamos dos API específicas: AI Platform Training Jobs API y Cloud builder API . Tenga en cuenta que esta es una configuración única para este proyecto, no necesita volver a ejecutar este comando para cada computadora portátil.

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

5. Cree un depósito de Google Cloud Storage

Usaremos este cubo de almacenamiento para activos temporales, así como para guardar los puntos de control del modelo. Tome nota del nombre del cubo para referencia futura. Tenga en cuenta que los nombres de los cubos son únicos a nivel mundial.

BUCKET_NAME = 'YOUR_BUCKET_NAME'

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

Cree una cuenta de servicio para trabajos de HP Tuning

Este paso es necesario para utilizar HP Tuning en Google Cloud mediante CloudTuner. Para crear una cuenta de servicio y darle acceso al editor de proyectos, ejecute el siguiente comando y tome nota del nombre de su cuenta de servicio.

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

La default AI Platform service account se identifica mediante una dirección de correo electrónico con el formato service-PROJECT_NUMBER@cloud-ml.google.com.iam.gserviceaccount.com . Usando su número de proyecto del paso uno, construimos el correo electrónico de la cuenta de servicio y otorgamos la función de administrador default AI Platform service account (roles/iam.serviceAccountAdmin) en su nueva cuenta de servicio.

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

Felicidades !

Ahora está listo para ejecutar tensorflow-cloud. Tenga en cuenta que estos pasos solo deben ejecutarse una vez. Una vez que haya configurado su proyecto, puede reutilizar la misma configuración de proyecto y depósito para ejecuciones futuras. Para cualquier notebook nueva, deberá repetir el paso dos para agregar sus credenciales de autenticación de Google Cloud.

Tome nota de los siguientes valores, ya que son necesarios para ejecutar 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