Utilizzo di Cloud Storage

AI Platform Training legge i dati dalle posizioni di Cloud Storage a cui hai concesso l'accesso al tuo progetto AI Platform Training. Questa pagina fornisce una breve guida all'utilizzo di Cloud Storage con AI Platform Training.

Panoramica

L'utilizzo di Cloud Storage è obbligatorio o consigliato per i seguenti aspetti dei servizi di AI Platform Training:

  • Esegui la gestione temporanea dell'applicazione di addestramento e delle dipendenze personalizzate.
  • Archiviazione dei dati di input relativi all'addestramento, ad esempio dati tabulari o di immagini.
  • Archiviazione dei dati di output dell'addestramento.

Considerazioni sulle regioni

Quando crei un bucket Cloud Storage da utilizzare con AI Platform Training, devi:

  • Assegnalo a una regione di calcolo specifica, non a un valore multi-regione.
  • Utilizza la stessa regione in cui esegui i job di addestramento.

Scopri di più sulle regioni in cui è disponibile AI Platform Training.

Configurazione dei bucket Cloud Storage

Questa sezione spiega come creare un nuovo bucket. Puoi utilizzare un bucket esistente, ma deve trovarsi nella stessa regione in cui prevedi di eseguire i job di AI Platform. Inoltre, se non fa parte del progetto che utilizzi per eseguire AI Platform Training, devi esplicitamente concedere accesso agli account di servizio AI Platform Training.

  1. Specifica un nome per il nuovo bucket. Il nome deve essere univoco in tutti i bucket di Cloud Storage.

    BUCKET_NAME="YOUR_BUCKET_NAME"

    Ad esempio, utilizza il nome del progetto con -aiplatform aggiunto:

    PROJECT_ID=$(gcloud config list project --format "value(core.project)")
    BUCKET_NAME=${PROJECT_ID}-aiplatform
  2. Controlla il nome del bucket che hai creato.

    echo $BUCKET_NAME
  3. Seleziona una regione per il bucket e imposta una variabile di ambiente REGION.

    Utilizza la stessa regione in cui prevedi di eseguire i job di AI Platform Training. Consulta le regioni disponibili per i servizi AI Platform Training.

    Ad esempio, il seguente codice crea REGION e lo imposta su us-central1:

    REGION=us-central1
  4. Crea il nuovo bucket:

    gcloud storage buckets create gs://$BUCKET_NAME --location=$REGION

Organizzazione dei modelli in bucket

Organizza la struttura delle cartelle nel bucket in modo da supportare molte iterazioni del tuo modello.

  • Inserisci ogni modello salvato in una directory separata all'interno del bucket.
  • Valuta la possibilità di utilizzare i timestamp per assegnare un nome alle directory nel bucket.

Ad esempio, puoi inserire il tuo primo modello in una struttura simile a gs://your-bucket/your-model-DATE1/your-saved-model-file. Per assegnare un nome alle directory per ogni iterazione successiva del modello, utilizza un timestamp aggiornato (gs://your-bucket/your-model-DATE2/your-saved-model-file e così via).

Accesso a Cloud Storage durante l'addestramento

Utilizza un modulo Python che può leggere da Cloud Storage nel codice di addestramento, ad esempio il client Python per Google Cloud Storage di Google, il modulo tf.io.gfile.GFile di TensorFlow o pandas 0.24.0 o versioni successive. AI Platform Training si occupa dell'autenticazione.

Utilizzo di un bucket Cloud Storage di un altro progetto

Questa sezione descrive come configurare i bucket Cloud Storage dall'esterno del tuo progetto in modo che AI Platform Training possa accedervi.

Se configuri il bucket Cloud Storage nello stesso progetto in cui utilizzi AI Platform Training, gli account di servizio AI Platform Training dispongono già delle autorizzazioni necessarie per accedere al bucket Cloud Storage.

Queste istruzioni sono fornite per i seguenti casi:

  • Non riesci a utilizzare un bucket del tuo progetto, ad esempio quando un set di dati di grandi dimensioni viene condiviso tra più progetti.
  • Se utilizzi più bucket con AI Platform Training, devi concedere l'accesso agli account di servizio AI Platform Training separatamente per ciascuno.

Passaggio 1: ottieni le informazioni richieste dal tuo progetto cloud

Console

  1. Apri la pagina IAM nella console Google Cloud.

    Apri la pagina IAM

  2. La pagina IAM mostra un elenco di tutte le entità che hanno accesso al progetto, insieme ai relativi ruoli associati. Il tuo progetto AI Platform Training ha più account di servizio. Individua nell'elenco l'account di servizio con il ruolo Agente di servizio Cloud ML e copia l'ID account di servizio, che ha il seguente aspetto:

    "service-111111111111@cloud-ml.google.com.iam.gserviceaccount.com".

    Dovrai incollare questo ID account di servizio in un'altra pagina della console Google Cloud durante i passaggi successivi.

Riga di comando

I passaggi in questa sezione recuperano informazioni sul progetto Google Cloud per utilizzarle per modificare il controllo dell'accesso dell'accesso per l'account di servizio AI Platform Training del progetto. Devi memorizzare i valori per un utilizzo successivo nelle variabili di ambiente.

  1. Ottieni l'identificatore del progetto utilizzando Google Cloud CLI con il progetto selezionato:

    PROJECT_ID=$(gcloud config list project --format "value(core.project)")
    
  2. Per ottenere il token di accesso per il tuo progetto, utilizza gcloud:

    AUTH_TOKEN=$(gcloud auth print-access-token)
    
  3. Per recuperare le informazioni dell'account di servizio, richiedi la configurazione del progetto dal servizio REST:

    SVC_ACCOUNT=$(curl -X GET -H "Content-Type: application/json" \
        -H "Authorization: Bearer $AUTH_TOKEN" \
        https://ml.googleapis.com/v1/projects/${PROJECT_ID}:getConfig \
        | python3 -c "import json; import sys; response = json.load(sys.stdin); \
        print(response['serviceAccount'])")
    

Passaggio 2: configura l'accesso al bucket Cloud Storage

Console

  1. Apri la pagina Archiviazione nella console Google Cloud.

    Apri la pagina Archiviazione

  2. Seleziona il bucket Cloud Storage che utilizzi per eseguire il deployment dei modelli selezionando la casella a sinistra del nome del bucket.

  3. Fai clic sul pulsante Mostra riquadro informazioni nell'angolo in alto a destra per visualizzare la scheda Autorizzazioni.

  4. Incolla l'ID account di servizio nel campo Aggiungi entità. A destra di questo campo, seleziona i ruoli che ti interessano, ad esempio Lettura di bucket legacy di archiviazione.

    Se non sai quale ruolo selezionare, puoi selezionarne più di uno per visualizzarli sotto il campo Aggiungi entità, ciascuna con una breve descrizione delle relative autorizzazioni.

  5. Per assegnare i ruoli desiderati all'account di servizio, fai clic sul pulsante Aggiungi accanto al campo Aggiungi entità.

Riga di comando

Ora che hai i dati del progetto e dell'account di servizio, devi aggiornare le autorizzazioni di accesso per il bucket Cloud Storage. Questi passaggi utilizzano gli stessi nomi di variabile utilizzati nella sezione precedente.

  1. Imposta il nome del bucket in una variabile di ambiente denominata BUCKET_NAME:

    BUCKET_NAME="your_bucket_name"
    
  2. Concedi all'account di servizio l'accesso in lettura agli oggetti nel bucket Cloud Storage:

    gcloud storage buckets add-iam-policy-binding gs://$BUCKET_NAME --member=user:$SVC_ACCOUNT --role=roles/storage.legacyObjectReader
    
  3. Concedi l'accesso in scrittura:

    gcloud storage buckets add-iam-policy-binding gs://$BUCKET_NAME --member=user:$SVC_ACCOUNT --role=roles/storage.legacyObjectWriter
    

Per scegliere un ruolo da concedere all'account di servizio AI Platform Training, consulta i ruoli IAM di Cloud Storage. Per informazioni più generali sull'aggiornamento dei ruoli IAM in Cloud Storage, consulta come concedere l'accesso a un account di servizio per una risorsa.

Passaggi successivi