Configurazione e connessione al tuo account Google Cloud

Visualizza su TensorFlow.org Esegui in Google Colab Visualizza su GitHub Scarica il notebook logo KaggleEsegui su Kaggle

Questa guida è pensata per aiutare i nuovi utenti a configurare un account Google Cloud Platform, in particolare con l'obiettivo di utilizzare tensorflow_cloud per eseguire facilmente l'addestramento su larga scala su Google Cloud AI Platform. TensorFlow Cloud fornisce API che consentono agli utenti di passare facilmente dal debug, all'addestramento e all'ottimizzazione del codice Keras e TensorFlow in un ambiente locale o Kaggle, all'addestramento/ottimizzazione distribuito sul cloud.

1. Iscriviti a Google Cloud Platform

Per iniziare, vai su https://cloud.google.com/ e clicca su "Inizia gratis". La procedura di registrazione si articola in due fasi: dovrai fornire nome, indirizzo e una carta di credito. L'account iniziale è gratuito e include un credito di 300 dollari. Per questa fase, dovrai accedere con un account Google (ad esempio, il tuo account Gmail).

Dopo aver completato la procedura di registrazione, verrai reindirizzato alla pagina di benvenuto di Google Cloud Platform . Fai clic sulla scheda "Home" e annota l'ID del progetto e il numero del progetto. (vedi Identificazione dei progetti )

GCP_PROJECT_ID = 'YOUR_PROJECT_ID'
PROJECT_NUMBER = 'YOUR_PROJECT_NUMBER'

2. Abilita Google Cloud SDK e autentica il tuo notebook

Ora che hai impostato il progetto, possiamo procedere con i restanti passaggi di configurazione direttamente da questo notebook. Esistono tre tipi di notebook; questo passaggio (passaggio n. 2) è leggermente diverso per ciascun notebook, mentre i passaggi successivi (dal n. 3 al n. 6) sono identici per tutti.

  • 2.1. Autenticazione per i notebook Kaggle
  • 2.2. Autenticazione per il notebook Colab
  • 2.3. Autenticazione per i notebook AI nel cloud: non supportata.

2.1 Configurazione dell'autenticazione per un notebook Kaggle

Se stai utilizzando un notebook Kaggle, dovrai ripetere questo passaggio per ogni nuovo notebook che utilizzi con questo progetto. Nel tuo notebook, fai clic su Componenti aggiuntivi -> Google Cloud SDK e segui le istruzioni visualizzate. Quindi esegui il seguente comando per aggiungere le tue credenziali di autenticazione a questo notebook.

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

2.2 Configurazione dell'autenticazione per un notebook Colab

Se stai utilizzando un notebook Colab, dovrai ripetere questo passaggio per ogni nuovo notebook che utilizzi con questo progetto. Esegui il seguente comando per aggiungere le tue credenziali di autenticazione a questo notebook.

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

Il passo successivo consiste nel configurare l'account di fatturazione per questo progetto. Google Cloud crea automaticamente un progetto predefinito chiamato "Il mio primo progetto". Utilizzeremo questo progetto predefinito. Usa l'ID del progetto (ottenuto al passaggio 1) per eseguire i seguenti comandi. Questo ti mostrerà l'ID dell'account di fatturazione; prendi nota di questo valore per il passaggio successivo.

gcloud beta billing accounts list

Utilizza l'ID del tuo account di fatturazione fornito sopra ed esegui il seguente comando per collegare il tuo account di fatturazione al tuo progetto.

Nota: se utilizzi un progetto esistente, potresti non visualizzare un Account_ID. Ciò significa che non disponi delle autorizzazioni necessarie per eseguire i seguenti comandi. Contatta il tuo amministratore o crea un nuovo progetto.

BILLING_ACCOUNT_ID = 'YOUR_BILLING_ACCOUNT_ID'

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

4. Abilita le API necessarie per tensorflow-cloud nel tuo progetto

Per tensorflow_cloud utilizziamo due API specifiche: AI Platform Training Jobs API e Cloud builder API . Tieni presente che questa configurazione va eseguita una sola volta per questo progetto; non è necessario eseguire nuovamente questo comando per ogni notebook.

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

5. Crea un bucket di Google Cloud Storage

Utilizzeremo questo bucket di archiviazione per le risorse temporanee e per salvare i checkpoint del modello. Prendi nota del nome del bucket per riferimento futuro. Ricorda che i nomi dei bucket sono univoci a livello globale.

BUCKET_NAME = 'YOUR_BUCKET_NAME'

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

Crea un account di servizio per le attività di ottimizzazione HP

Questo passaggio è necessario per utilizzare HP Tuning su Google Cloud tramite CloudTuner. Per creare un account di servizio e concedergli l'accesso all'editor di progetto, eseguire il seguente comando e annotare il nome dell'account di servizio.

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

L' default AI Platform service account è identificato da un indirizzo email nel formato service-PROJECT_NUMBER@cloud-ml.google.com.iam.gserviceaccount.com . Utilizzando il numero di progetto definito nel primo passaggio, creiamo l'indirizzo email dell'account di servizio e assegniamo il ruolo di amministratore default AI Platform service account (roles/iam.serviceAccountAdmin) al nuovo account di servizio.

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

Congratulazioni!

Ora sei pronto per eseguire tensorflow-cloud. Tieni presente che questi passaggi devono essere eseguiti una sola volta. Una volta configurato il progetto, puoi riutilizzare la stessa configurazione di progetto e bucket per le esecuzioni future. Per ogni nuovo notebook, dovrai ripetere il secondo passaggio per aggiungere le tue credenziali di autenticazione di Google Cloud.

Prendi nota dei seguenti valori, poiché sono necessari per eseguire 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