Visualizza su TensorFlow.org | Visualizza su GitHub | Scarica il taccuino | Corri a Kaggle |
Questa guida aiuta gli utenti alle prime armi a configurare un account Google Cloud Platform specificatamente con l'intenzione di utilizzare tensorflow_cloud per eseguire facilmente la formazione su larga scala su Google Cloud AI Platform. TensorFlow Cloud fornisce API che consentono agli utenti di passare facilmente dal debug, alla formazione e all'ottimizzazione del codice Keras e TensorFlow in un ambiente locale o kaggle alla formazione/ottimizzazione distribuita sul cloud.
1. Iscriviti a Google Cloud Platform
Per iniziare, vai su https://cloud.google.com/ e fai clic su "Inizia gratuitamente". Si tratta di una procedura di registrazione in due passaggi in cui dovrai fornire il tuo nome, indirizzo e una carta di credito. L'account iniziale è gratuito e include un credito di $ 300 che puoi utilizzare. Per questo passaggio dovrai fornire un account Google (ovvero il tuo account Gmail) per accedere.
Dopo aver completato la procedura di registrazione verrai reindirizzato alla pagina di benvenuto di Google Cloud Platform . fai clic sulla scheda "Home" e prendi nota dell'ID progetto e del numero del progetto. (vedi Individuazione 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 tuo progetto possiamo continuare con il resto dei passaggi di configurazione direttamente da questo notebook. Esistono tre tipi di notebook, questo passaggio (passaggio n. 2) è leggermente diverso per ogni notebook, il resto dei passaggi (passaggio da n. 3 a n. 6) è lo stesso per tutti i taccuini.
- 2.1. Autenticazione per i notebook Kaggle
- 2.2. Autenticazione per il notebook Colab
- 2.3. Autenticazione per notebook Cloud AI: non supportata.
2.1 Configurazione dell'autenticazione per un notebook Kaggle
Se stai utilizzando un taccuino Kaggle dovrai ripetere questo passaggio per qualsiasi nuovo taccuino che utilizzi con questo progetto. Nel tuo notebook fai clic su Componenti aggiuntivi -> Google Cloud SDK e segui le istruzioni visualizzate. Quindi esegui il comando seguente 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 Configurare l'autenticazione per un notebook Colab
Se utilizzi un notebook Colab dovrai ripetere questo passaggio per qualsiasi nuovo notebook utilizzato con questo progetto. Esegui il comando seguente 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()
3. Collega il tuo account di fatturazione al tuo progetto
Il passaggio successivo consiste nel configurare l'account di fatturazione per questo progetto. Google Cloud crea per impostazione predefinita un progetto chiamato "Il mio primo progetto". Utilizzeremo questo progetto predefinito. Utilizza il tuo ID progetto (dal passaggio 1) per eseguire i seguenti comandi. Questo ti mostrerà il tuo Account_ID di fatturazione, prendine nota per il passaggio successivo.
gcloud beta billing accounts list
Utilizza il tuo Account_ID di fatturazione indicato sopra ed esegui quanto segue per collegare il tuo account di fatturazione al tuo progetto.
Tieni presente che se utilizzi un progetto esistente potresti non vedere un Account_ID, ciò significa che non disponi delle autorizzazioni adeguate per eseguire i seguenti comandi, contattare il tuo amministratore o creare 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 richieste 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 è una configurazione una tantum 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 Google Cloud Storage
Utilizzeremo questo bucket di archiviazione per le risorse temporanee e per salvare i checkpoint del modello. Prendere nota del nome del bucket per riferimento futuro. Tieni presente 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 i lavori HP Tuning
Questo passaggio è necessario per utilizzare HP Tuning su Google Cloud utilizzando CloudTuner. Per creare un account di servizio e concedergli l'accesso come editor del progetto, esegui il comando seguente e prendi nota del nome del tuo 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 del passaggio uno, creiamo l'e-mail dell'account di servizio e concediamo il ruolo di amministratore default AI Platform service account
(roles/iam.serviceAccountAdmin) sul tuo 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 solo una volta. Una volta configurato il progetto, puoi riutilizzare lo stesso progetto e la stessa configurazione del bucket per esecuzioni future. Per tutti i nuovi notebook dovrai ripetere il passaggio due per aggiungere le 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