Ver en TensorFlow.org | Ejecutar en Google Colab | Ver en GitHub | Descargar cuaderno | Correr en Kaggle |
Esta guía está diseñada para ayudar a los usuarios principiantes a configurar una cuenta de Google Cloud Platform específicamente para usar TensorFlow Cloud y así ejecutar fácilmente entrenamientos a gran 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 la optimización del código Keras y TensorFlow en un entorno local o de Kaggle a la optimización y el entrenamiento distribuidos en la nube.
1. Regístrate en Google Cloud Platform.
Para empezar, visita https://cloud.google.com/ y haz clic en «Comienza gratis». El registro consta de dos pasos: deberás proporcionar tu nombre, dirección y una tarjeta de crédito. La cuenta inicial es gratuita e incluye un crédito de $300. Para iniciar sesión, deberás proporcionar una cuenta de Google (por ejemplo, tu cuenta de Gmail).
Tras completar el proceso de registro, se le redirigirá a la página de bienvenida de Google Cloud Platform . Haga clic en la pestaña "Inicio" y anote su ID de proyecto y el número de proyecto. (Consulte la sección "Identificación de proyectos ").
GCP_PROJECT_ID = 'YOUR_PROJECT_ID'
PROJECT_NUMBER = 'YOUR_PROJECT_NUMBER'
2. Habilita el SDK de Google Cloud y autentica tu notebook.
Ahora que has configurado tu proyecto, podemos continuar con el resto de los pasos de configuración directamente desde este cuaderno. Hay tres tipos de cuadernos; este paso (paso n.° 2) es ligeramente diferente para cada uno, mientras que el resto de los pasos (del n.° 3 al n.° 6) son iguales para todos.
- 2.1. Autenticación para cuadernos de Kaggle
- 2.2. Autenticación para el cuaderno de Colab
- 2.3. Autenticación para cuadernos de IA en la nube: no compatible.
2.1 Configurar la autenticación para un cuaderno de Kaggle
Si utilizas un cuaderno de Kaggle, deberás repetir este paso para cada nuevo cuaderno que uses con este proyecto. En tu cuaderno, haz clic en Complementos -> Google Cloud SDK y sigue las instrucciones que aparecen en pantalla. A continuación, ejecuta el siguiente comando para añadir tus 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 Configurar la autenticación para un cuaderno de Colab
Si utilizas un cuaderno de Colab, deberás repetir este paso para cada nuevo cuaderno que uses con este proyecto. Ejecuta el siguiente comando para añadir tus credenciales de autenticación a este cuaderno.
import sys
if "google.colab" in sys.modules:
from google.colab import auth
auth.authenticate_user()
3. Vincula tu cuenta de facturación a tu proyecto.
El siguiente paso es configurar la cuenta de facturación para este proyecto. Google Cloud crea un proyecto predeterminado llamado "Mi primer proyecto". Usaremos este proyecto predeterminado. Usa tu ID de proyecto (del paso 1) para ejecutar los siguientes comandos. Esto te mostrará tu ID de cuenta de facturación; anótalo para el siguiente paso.
gcloud beta billing accounts listUtilice su ID de cuenta de facturación que aparece arriba y ejecute lo siguiente para vincular su cuenta de facturación con su proyecto.
Tenga en cuenta que si utiliza un proyecto existente, es posible que no vea un Account_ID. Esto significa que no tiene los permisos necesarios para ejecutar los siguientes comandos. Póngase en contacto con su administrador o cree un nuevo proyecto.
BILLING_ACCOUNT_ID = 'YOUR_BILLING_ACCOUNT_ID'
!gcloud beta billing projects link $GCP_PROJECT_ID --billing-account $BILLING_ACCOUNT_ID
4. Habilita las API necesarias para tensorflow-cloud en tu proyecto.
Para tensorflow_cloud utilizamos dos API específicas: la API de AI Platform Training Jobs y la API de Cloud Builder . Tenga en cuenta que esta configuración se realiza una sola vez para este proyecto; no es necesario volver a ejecutar este comando para cada notebook.
gcloud services --project $GCP_PROJECT_ID enable ml.googleapis.com cloudbuild.googleapis.com5. Crea un bucket de Google Cloud Storage.
Usaremos este depósito de almacenamiento para recursos temporales y para guardar los puntos de control del modelo. Anote el nombre del depósito para futuras consultas. Tenga en cuenta que los nombres de los depósitos son únicos a nivel global.
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 las tareas de HP Tuning.
Este paso es necesario para usar HP Tuning en Google Cloud con CloudTuner. Para crear una cuenta de servicio y otorgarle acceso al editor de proyectos, ejecute el siguiente comando y anote el 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 . Utilizando el número de proyecto del paso uno, creamos la dirección de correo electrónico de la cuenta de servicio y asignamos el rol de administrador default AI Platform service account (roles/iam.serviceAccountAdmin) a 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!
Ya puedes ejecutar tensorflow-cloud. Ten en cuenta que estos pasos solo deben realizarse una vez. Una vez configurado tu proyecto, puedes reutilizar la misma configuración de proyecto y bucket para futuras ejecuciones. Para crear nuevos notebooks, deberás repetir el paso dos para añadir tus credenciales de autenticación de Google Cloud.
Anota 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
Ver en TensorFlow.org
Ejecutar en Google Colab
Ver en GitHub
Descargar cuaderno
Correr en Kaggle