Utilizzo di Cloud Storage

Il servizio AI Platform Prediction legge i dati dalle località di Cloud Storage in cui hai concesso l'accesso al tuo progetto di AI Platform Prediction. Questa pagina fornisce una guida rapida all'utilizzo di Cloud Storage con AI Platform Prediction.

Panoramica

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

Previsione online

Previsione batch

  • Archiviazione dei file di input delle previsioni batch.
  • Archiviazione dell'output della previsione batch.
  • Archiviazione del modello, se utilizzi la previsione 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 computing specifica, non a un valore multiregionale.
  • Utilizza la stessa regione in cui esegui i job di addestramento.

Scopri di più sulle regioni disponibili per AI Platform Prediction.

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 Prediction, devi concedere esplicitamente l'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 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 Prediction. Consulta le regioni disponibili per i servizi di AI Platform Prediction.

    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 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 in grado di leggere da Cloud Storage nel codice di previsione personalizzato, 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 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 tuo 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 hai configurato il bucket Cloud Storage nello stesso progetto in cui utilizzi AI Platform Prediction, i tuoi account di servizio AI Platform Prediction dispongono già delle autorizzazioni necessarie per accedere al 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 Prediction, devi concedere l'accesso agli account di servizio AI Platform Prediction 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 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 è 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 progetto Google Cloud al fine di utilizzarli al fine di modificare il controllo dell'accesso per l'account di servizio AI Platform Prediction del 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 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