Voir sur TensorFlow.org | Exécuter dans Google Colab | Voir sur GitHub | Télécharger le carnet | Courir à Kaggle |
Ce guide est destiné à aider les nouveaux utilisateurs à créer un compte Google Cloud Platform spécifiquement dans le but d'utiliser tensorflow_cloud pour exécuter facilement une formation à grande échelle sur Google Cloud AI Platform. TensorFlow Cloud fournit des API qui permettent aux utilisateurs de passer facilement du débogage, de la formation, du réglage du code Keras et TensorFlow dans un environnement local ou kaggle à la formation/réglage distribué sur le cloud.
1. Inscrivez-vous à Google Cloud Platform
Pour commencer, allez sur https://cloud.google.com/ et cliquez sur « Commencer gratuitement ». Il s'agit d'un processus d'inscription en deux étapes dans lequel vous devrez fournir votre nom, votre adresse et une carte de crédit. Le compte de démarrage est gratuit et est accompagné d'un crédit de 300 $ que vous pouvez utiliser. Pour cette étape, vous devrez fournir un compte Google (c'est-à-dire votre compte Gmail) pour vous connecter.
Une fois le processus d'inscription terminé, vous serez redirigé vers la page d'accueil de Google Cloud Platform . cliquez sur l'onglet "Accueil" et notez votre ID de projet et votre numéro de projet. (voir Identifier les projets )
GCP_PROJECT_ID = 'YOUR_PROJECT_ID'
PROJECT_NUMBER = 'YOUR_PROJECT_NUMBER'
2.Activez le SDK Google Cloud et authentifiez votre ordinateur portable
Maintenant que vous avez configuré votre projet, nous pouvons continuer avec le reste des étapes de configuration directement à partir de ce bloc-notes. Il existe trois types de cahiers, cette étape (étape n°2) est légèrement différente pour chaque cahier, le reste des étapes (étapes n°3 à n°6) est la même pour tous les cahiers.
- 2.1. Authentification pour les notebooks Kaggle
- 2.2. Authentification pour le notebook Colab
- 2.3. Authentification pour les notebooks Cloud AI – Non pris en charge.
2.1 Configurer l'authentification pour un ordinateur portable Kaggle
Si vous utilisez un notebook Kaggle, vous devrez répéter cette étape pour tout nouveau notebook que vous utilisez avec ce projet. Dans votre bloc-notes, cliquez sur Modules complémentaires -> Google Cloud SDK et suivez les instructions à l'invite. Exécutez ensuite la commande suivante pour ajouter vos informations d'authentification à ce bloc-notes.
import sys
if "kaggle_secrets" in sys.modules:
from kaggle_secrets import UserSecretsClient
UserSecretsClient().set_gcloud_credentials(project=GCP_PROJECT_ID)
2.2 Configurer l'authentification pour un notebook Colab
Si vous utilisez un notebook Colab, vous devrez répéter cette étape pour tout nouveau notebook que vous utilisez avec ce projet. Exécutez la commande suivante pour ajouter vos informations d'identification d'authentification à ce bloc-notes.
import sys
if "google.colab" in sys.modules:
from google.colab import auth
auth.authenticate_user()
3. Liez votre compte de facturation à votre projet
L'étape suivante consiste à configurer le compte de facturation pour ce projet. Google Cloud Crée pour vous par défaut un projet appelé « Mon premier projet ». Nous utiliserons ce projet par défaut. Utilisez votre ID de projet (de l'étape 1) pour exécuter les commandes suivantes. Cela vous montrera votre Billing Account_ID, notez-le pour l'étape suivante.
gcloud beta billing accounts list
Utilisez votre Billing Account_ID ci-dessus et exécutez ce qui suit pour lier votre compte de facturation à votre projet.
Notez que si vous utilisez un projet existant, vous ne verrez peut-être pas de Account_ID, cela signifie que vous ne disposez pas des autorisations appropriées pour exécuter les commandes suivantes, contacter votre administrateur ou créer un nouveau projet.
BILLING_ACCOUNT_ID = 'YOUR_BILLING_ACCOUNT_ID'
!gcloud beta billing projects link $GCP_PROJECT_ID --billing-account $BILLING_ACCOUNT_ID
4. Activez les API requises pour tensorflow-cloud dans votre projet
Pour tensorflow_cloud, nous utilisons deux API spécifiques : l'API AI Platform Training Jobs et l'API Cloud Builder . Notez qu'il s'agit d'une configuration unique pour ce projet, vous n'avez pas besoin de réexécuter cette commande pour chaque bloc-notes.
gcloud services --project $GCP_PROJECT_ID enable ml.googleapis.com cloudbuild.googleapis.com
5. Créez un bucket Google Cloud Storage
Nous utiliserons ce bucket de stockage pour les actifs temporaires ainsi que pour sauvegarder les points de contrôle du modèle. Notez le nom du compartiment pour référence future. Les noms des compartiments de notes sont uniques à l’échelle mondiale.
BUCKET_NAME = 'YOUR_BUCKET_NAME'
GCS_BUCKET = f'gs://{BUCKET_NAME}'
!gsutil mb -p $GCP_PROJECT_ID $GCS_BUCKET
Créer un compte de service pour les tâches HP Tuning
Cette étape est requise pour utiliser HP Tuning sur Google Cloud à l'aide de CloudTuner. Pour créer un compte de service et lui donner un accès d'éditeur de projet, exécutez la commande suivante et notez le nom de votre compte de service.
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
Le default AI Platform service account
est identifié par une adresse e-mail au format service-PROJECT_NUMBER@cloud-ml.google.com.iam.gserviceaccount.com
. À l'aide de votre numéro de projet de la première étape, nous construisons l'adresse e-mail du compte de service et accordons le rôle d'administrateur default AI Platform service account
(roles/iam.serviceAccountAdmin) sur votre nouveau compte de service.
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
Félicitations !
Vous êtes maintenant prêt à exécuter tensorflow-cloud. Notez que ces étapes ne doivent être exécutées qu’une seule fois. Une fois que vous avez configuré votre projet, vous pouvez réutiliser la même configuration de projet et de compartiment pour des exécutions futures. Pour tout nouveau bloc-notes, vous devrez répéter la deuxième étape pour ajouter vos informations d'identification d'authentification Google Cloud.
Notez les valeurs suivantes car elles sont nécessaires pour exécuter 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