Utilizzo di Cloud Storage

AI Platform Training legge i dati dalle località di Cloud Storage in cui hai concesso l'accesso al tuo progetto AI Platform Training. Questa pagina fornisce una guida rapida 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:

  • Gestione temporanea dell'applicazione di addestramento e delle dipendenze personalizzate.
  • Archiviazione dei dati di input di addestramento, ad esempio dati tabulari o immagine.
  • 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 computing specifica, non a un valore multiregionale.
  • 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 mostra come creare un nuovo bucket. Puoi utilizzare un bucket esistente, ma deve trovarsi nella stessa regione in cui prevedi di eseguire job AI Platform. Inoltre, se non fa parte del progetto che stai utilizzando per eseguire AI Platform Training, devi concedere esplicitamente l'accesso agli account di servizio di AI Platform Training.

  1. Specifica un nome per il nuovo bucket. Il nome deve essere univoco in tutti i bucket in 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 job di AI Platform Training. Consulta le regioni disponibili per i servizi di AI Platform Training.

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

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

    gsutil mb -l $REGION gs://$BUCKET_NAME

Organizzazione dei modelli nei bucket

Organizzare la struttura delle cartelle nel bucket per supportare molte iterazioni del modello.

  • Inserisci ogni modello salvato nella sua 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 in grado di leggere da Cloud Storage nel codice di addestramento, ad esempio il client Python per Google Cloud Storage, il modulo tf.io.gfile.GFile di TensorFlow oppure panda 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 progetto in modo che AI Platform Training possa accedervi.

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

Queste istruzioni vengono fornite nei seguenti casi:

  • Non puoi utilizzare un bucket del 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 di AI Platform Training separatamente per ciascuno.

Passaggio 1: recupera 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 tuo progetto, insieme ai 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 è simile a questo:

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

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

Riga di comando

I passaggi in questa sezione consentono di ottenere informazioni sul tuo progetto Google Cloud al fine di utilizzarli al fine di modificare il controllo dell'accesso per l'account di servizio AI Platform Training del tuo progetto. Devi archiviare i valori per utilizzarli in un secondo momento 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. Recupera il token di accesso per il tuo progetto utilizzando gcloud:

    AUTH_TOKEN=$(gcloud auth print-access-token)
    
  3. Ottieni le informazioni dell'account di servizio richiedendo la configurazione del progetto al 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 Spazio di archiviazione nella console Google Cloud.

    Apri la pagina Storage

  2. Scegli 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 quel campo, seleziona i ruoli che ti interessano, ad esempio Lettore bucket legacy di Storage.

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

  5. Per assegnare i ruoli che ti interessano all'account di servizio, fai clic sul pulsante Aggiungi a destra del campo Aggiungi entità.

Riga di comando

Ora che disponi delle informazioni sul progetto e sull'account di servizio, devi aggiornare le autorizzazioni di accesso per il bucket Cloud Storage. Per questi passaggi vengono utilizzati gli stessi nomi di variabili 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 al bucket Cloud Storage:

    gsutil -m defacl ch -u $SVC_ACCOUNT:R gs://$BUCKET_NAME
    
  3. Se il bucket contiene già oggetti a cui devi accedere, devi concedere esplicitamente l'accesso in lettura:

    gsutil -m acl ch -u $SVC_ACCOUNT:R -r gs://$BUCKET_NAME
    
  4. Concedi l'accesso in scrittura:

    gsutil -m acl ch -u $SVC_ACCOUNT:W gs://$BUCKET_NAME
    

Per scegliere un ruolo da concedere al tuo 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