Utilizzo di Cloud Storage

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

Panoramica

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

Previsione online

Previsione batch

  • Archiviazione dei file di input per la previsione batch.
  • Archiviazione dell'output della previsione batch.
  • Memorizzazione del modello, se utilizzi le previsioni in batch senza prima eseguire il deployment del modello su AI Platform Prediction.

Considerazioni sulle regioni

Quando crei un bucket Cloud Storage da utilizzare con AI Platform Prediction, 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 Prediction.

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 Prediction, devi esplicitamente concedere accesso agli account di servizio AI Platform Prediction.

  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 Prediction. Consulta le regioni disponibili per i servizi AI Platform Prediction.

    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 la previsione

Se esegui il deployment di una routine di previsione personalizzata (beta) o di una pipeline scikit-learn con codice personalizzato (beta), la versione del modello può leggere da qualsiasi bucket Cloud Storage nello stesso progetto durante la gestione delle previsioni.

Utilizza un modulo Python che può leggere da Cloud Storage nel codice di previsione personalizzato, 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 Prediction si occupa dell'autenticazione.

Puoi anche specificare un account di servizio quando esegui il deployment della routine di previsione personalizzata per personalizzare le risorse Cloud Storage a cui ha accesso il deployment.

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 Prediction possa accedervi.

Se configuri il bucket Cloud Storage nello stesso progetto in cui utilizzi AI Platform Prediction, gli account di servizio di AI Platform Prediction 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 Prediction, devi concedere l'accesso agli account di servizio AI Platform Prediction 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. Il tuo progetto AI Platform Prediction 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 di questa sezione recuperano le informazioni sul tuo progetto Google Cloud per utilizzarle per modificare il controllo dell'accesso dell'accesso all'account di servizio di AI Platform Prediction 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 di AI Platform Prediction, 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