Crea un notebook

In questo tutorial, utilizzerai l'SDK Vertex AI in un notebook Jupyter per ottenere previsioni utilizzando un'istanza di Vertex AI Workbench.

Questa sezione mostra come creare un notebook Jupyter in un'istanza di Vertex AI Workbench. Le istanze Vertex AI Workbench sono ambienti di sviluppo basati su notebook Jupyter per l'intero flusso di lavoro di data science. Le istanze Vertex AI Workbench sono preconfigurate con JupyterLab e dispongono di una suite preinstallata di pacchetti di deep learning, tra cui il supporto per i framework TensorFlow e PyTorch. Per ulteriori informazioni, consulta Introduzione alle istanze di Vertex AI Workbench.

Dopo aver creato un notebook in Vertex AI Workbench, esegui porzioni sequenziali di codice Python per svolgere la maggior parte del lavoro di generazione delle previsioni.

Prima di iniziare

  1. Accedi al tuo Google Cloud account. Se non hai mai utilizzato Google Cloud, crea un account per valutare il rendimento dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Vertex AI and Notebooks APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Vertex AI and Notebooks APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

Crea un'istanza di Vertex AI Workbench

Per creare un'istanza di Vertex AI Workbench:

  1. Nella Google Cloud console, apri il tuo Google Cloud progetto se non è già aperto.

  2. Nella Google Cloud console, vai alla pagina Istanze di Vertex AI Workbench.

    Vai a Istanze

  3. Se viene visualizzata l'opzione per abilitare l'API Notebooks, fai clic su Abilita. Il completamento del processo di abilitazione potrebbe richiedere alcuni istanti.

  4. Fai clic su  Crea nuovo.

  5. Nella finestra di dialogo Nuova istanza, in Nome, inserisci un nome per l'istanza.

  6. In Regione, seleziona us-central1 (Iowa).

  7. In Zona, seleziona us-central1-a.

  8. Fai clic su Crea. Se vuoi saperne di più sulla tua istanza, dopo che viene visualizzata nell'elenco delle istanze, fai clic sul suo nome per visualizzarne le proprietà.

Prepara il notebook

L'istanza di Vertex AI Workbench è già autenticata per utilizzare iltuo Google Cloud progetto. Tuttavia, devi installare e inizializzare l'SDK Vertex AI Python. Questa sezione ti guida attraverso questi passaggi.

Dopo aver creato il notebook, lo utilizzerai per inserire ed eseguire gli snippet di codice sequenziali in questo tutorial. Ogni snippet di codice deve essere eseguito singolarmente e in ordine.

Crea e apri il notebook

Il notebook è il luogo in cui esegui il codice in questo tutorial. È un file con estensione .ipynb. Quando lo crei, è senza titolo. Puoi rinominarlo dopo averlo aperto. Per creare e aprire il notebook:

  1. Nella Google Cloud console, vai alla pagina Istanze.

    Vai a Istanze

  2. Fai clic su Apri JupyterLab accanto al nome dell'istanza.

    L'istanza di Vertex AI Workbench apre l'ambiente JupyterLab.

  3. In JupyterLab, seleziona File > Nuovo > Notebook.

    Si apre il nuovo file del notebook e viene visualizzata la finestra di dialogo Seleziona kernel.

  4. Nella finestra di dialogo Seleziona kernel, seleziona il kernel Python 3.

  5. Nel riquadro di navigazione a sinistra di JupyterLab, individua il nuovo notebook, denominato Untitled.ipynb. Per rinominarlo, fai clic con il tasto destro del mouse sul nome del notebook, fai clic su Rinomina e inserisci un nuovo nome.

Installa l'SDK Vertex AI per Python

Dopo aver aperto il notebook, devi installare l'SDK Vertex AI per Python. Utilizzerai l'SDK Vertex AI Python per effettuare chiamate all'API Vertex AI che creano il set di dati, creano il modello, addestrano ed eseguono il deployment del modello e fanno previsioni con il modello. Per ulteriori informazioni, consulta Utilizzare l'SDK Vertex AI per Python.

Quando installi l'SDK Vertex AI Python, vengono installati anche altri Google Cloud SDK da cui dipende. In questo tutorial vengono utilizzati due di questi SDK:

  • Cloud Storage: quando utilizzi l'SDK Vertex AI per Python per effettuare chiamate all'API Vertex AI, Vertex AI archivia gli artefatti in un bucket Cloud Storage. Il bucket è denominato bucket di gestione temporanea. Specifichi il bucket di gestione temporanea quando inizializzi l'SDK Vertex AI per Python. Per ulteriori informazioni, consulta Libreria client Python per Google Cloud l'API Storage.

  • BigQuery: Vertex AI addestra il modello utilizzando un set di dati pubblici BigQuery. Per accedere e scaricare il set di dati utilizzato in questo tutorial, è necessario installare l'SDK BigQuery. Per ulteriori informazioni, consulta Librerie client dell'API BigQuery.

Per installare l'SDK Vertex AI Python e gli SDK dipendenti, esegui il seguente codice.

# Install the Vertex AI SDK
! pip3 install --upgrade --quiet google-cloud-aiplatform

Il flag --quiet sopprime l'output in modo che vengano visualizzati solo gli errori, se presenti. Il punto esclamativo (!) indica che si tratta di un comando shell.

Poiché questo è il primo codice che esegui nel nuovo notebook, inseriscilo nella cella di codice vuota nella parte superiore del notebook. Dopo aver inserito il codice in una cella di codice, fai clic su  Esegui le celle selezionate e vai avanti o utilizza la scorciatoia da tastiera Shift + Enter per eseguire il codice.

Esegui il codice per installare l'SDK.

Man mano che procedi con questo tutorial, esegui il codice nella cella di codice vuota che viene visualizzata automaticamente sotto il codice eseguito più di recente. Se vuoi aggiungere manualmente una nuova cella di codice, fai clic sul pulsante  Inserisci una cella sotto del file del notebook.

Aggiungi una nuova cella di codice.

Imposta l'ID progetto e la regione

In questo passaggio, assegnerai l'ID progetto e la regione alle variabili in modo che possano essere facilmente referenziati più avanti in questo tutorial.

Imposta l'ID progetto

Per impostare l'ID progetto:

  1. Individua l'ID deltuo Google Cloud progetto. Per ulteriori informazioni, consulta Trovare l'ID progetto.

  2. Esegui il seguente comando in una cella di codice del notebook. Nel codice, sostituisci PROJECT_ID con l'ID progetto appena individuato. L'output generato da questo comando è Updated property [core/project].

    project_id = "PROJECT_ID"  # @param {type:"string"}
    

Imposta la regione

Questo tutorial utilizza la regione us-central1. Per impostare la regione:

  1. Esegui il seguente codice per impostare la variabile region utilizzata da Vertex AI su us-central1. Questo comando non genera output. Per ulteriori informazioni, consulta Scegliere la località.

    region = "us-central1"  # @param {type: "string"}
    

Crea un bucket Cloud Storage

Questo tutorial richiede un bucket Cloud Storage utilizzato da Vertex AI per la gestione temporanea degli artefatti. Vertex AI archivia i dati associati al set di dati creato e alle risorse del modello nel bucket di gestione temporanea. Questi dati vengono conservati e sono disponibili tra le sessioni. In questo tutorial, Vertex AI archivia anche il set di dati nel bucket di gestione temporanea. Specifichi il bucket di gestione temporanea quando inizializzi l'SDK Vertex AI per Python.

Ogni nome di bucket Cloud Storage deve essere univoco a livello globale. Se scegli un nome già utilizzato, il comando per creare il bucket non riesce. Il seguente codice utilizza un timestamp di data e ora e il nome del progetto per creare un nome di bucket univoco. Aggiungi il nome del bucket a gs:// per creare l'URI del bucket Cloud Storage. Il comando shell echo mostra l'URI in modo che tu possa verificarne la creazione corretta.

  1. Per impostare il nome e l'URI del bucket, esegui il seguente codice. L'ultima riga mostra l'URI del bucket Cloud Storage.

    bucket_name = "bucket-name-placeholder"  # @param {type:"string"}
    bucket_uri = f"gs://{bucket_name}"
    
    from datetime import datetime
    timestamp = datetime.now().strftime("%Y%m%d%H%M%S")
    
    if bucket_name == "" or bucket_name is None or bucket_name == "bucket-name-placeholder":
        bucket_name = project_id + "aip-" + timestamp
        bucket_uri = "gs://" + bucket_name
    ! echo $bucket_uri
    
  2. Per creare un bucket utilizzando la libreria client Cloud Storage e l'URI del bucket, esegui il seguente codice. Questo codice non genera output.

    from google.cloud import storage
    client = storage.Client(project=project_id)
    
    # Create a bucket
    bucket = client.create_bucket(bucket_name, location=region)
    
  3. Per verificare che il bucket sia stato creato correttamente, esegui il seguente comando:

    print("Bucket {} created.".format(bucket.name))
    

Inizializza l'SDK Vertex AI Python

Per inizializzare l'SDK Vertex AI Python, devi prima importare la libreria aiplatform. Poi, chiama aiplatform.init e passa i valori per i seguenti parametri:

  • project : il parametro project specifica il Google Cloud progetto da utilizzare quando utilizzi l'SDK Vertex AI per Python per effettuare chiamate all'API Vertex AI. In questo tutorial specificherai iltuo Google Cloud progetto con il suo nome. Puoi anche specificare il progetto con il relativo numero di progetto.

  • location : il parametro location specifica la Google Cloud regioneda utilizzare quando effettui chiamate API. Se non specifichi una località, l'SDK Vertex AI Python utilizza us-central1.

  • staging_bucket : il parametro staging_bucket specifica il bucket Cloud Storage utilizzato per archiviare in un'area intermedia gli artefatti quando utilizzi l'SDK Vertex AI per Python. Specifichi il bucket con un URI che inizia con gs://. In questo tutorial, utilizzerai l'URI creato in precedenza in Creare un bucket Cloud Storage.

Per impostare iltuo Google Cloud progetto, la regione e il bucket di gestione temporanea, esegui il seguente comando. Questo comando non genera output.

from google.cloud import aiplatform

# Initialize the Vertex AI SDK
aiplatform.init(project=project_id, location=region, staging_bucket=bucket_uri)

Inizializza BigQuery

Questo tutorial utilizza un set di dati pubblici BigQuery di pinguini per addestrare un modello. Dopo che Vertex AI addestra il modello, specifichi i parametri che rappresentano le caratteristiche dei pinguini e il modello utilizza queste caratteristiche per prevedere la specie di pinguino che rappresentano. Per ulteriori informazioni sui set di dati pubblici, consulta Set di dati pubblici BigQuery.

Prima di utilizzare il set di dati BigQuery, devi inizializzare BigQuery con l'ID progetto. Per farlo, esegui il seguente comando. Questo comando non genera output.

from google.cloud import bigquery

# Set up BigQuery client
bq_client = bigquery.Client(project=project_id)