Gestisci modelli

Questa pagina mostra come gestire i modelli BigQuery ML, tra cui la copia e la ridenominazione dei modelli.

Rinomina modelli

Al momento, non puoi modificare il nome di un modello esistente. Se devi modificare il nome del modello, segui i passaggi per copiare il modello. Quando specifichi la destinazione nell'operazione di copia, utilizza il nuovo nome del modello.

Copia modelli

Puoi copiare uno o più modelli da un set di dati di origine a un set di dati di destinazione:

  • Utilizzando la console Google Cloud.
  • Utilizzo del comando bq cp dello strumento a riga di comando bq.
  • Chiamata diretta del metodo API jobs.insert e configurazione di un job di copia oppure utilizzando le librerie client.

Limitazioni sulla copia dei modelli

I job di copia del modello sono soggetti alle seguenti limitazioni:

  • Quando copi un modello, il nome del modello di destinazione deve rispettare le stesse convenzioni di denominazione utilizzate per la creazione di un modello.
  • Le copie dei modelli sono soggette ai limiti di BigQuery sui job di copia.
  • La copia di un modello non è attualmente supportata dalla console Google Cloud.
  • Quando copi i modelli, il set di dati di destinazione deve trovarsi nella stessa località del set di dati contenente il modello da copiare. Ad esempio, non puoi copiare un modello da un set di dati che si trova nell'UE e scriverlo in un set di dati che si trova negli Stati Uniti.
  • La copia di più modelli di origine in un singolo comando non è supportata.
  • Quando copi un modello utilizzando l'interfaccia a riga di comando, il flag --destination_kms_key non è attualmente supportato.

Copia di un modello

Puoi copiare un modello in uno dei seguenti modi:

  • Utilizzo del comando bq cp dello strumento a riga di comando
  • Chiamare il metodo API jobs.insert e configurare un job di copia o utilizzare le librerie client

Per copiare un modello:

Console

Attualmente, la console Google Cloud non supporta la copia dei modelli.

bq

Esegui il comando bq cp. Flag facoltativi:

  • -f o --force sovrascrive un modello esistente nel set di dati di destinazione e non richiede la conferma.
  • -n o --no_clobber restituisce il seguente messaggio di errore se il modello esiste nel set di dati di destinazione: '[PROJECT_ID]:[DATASET].[MODEL]' already exists, skipping.

    Se -n non è specificato, il comportamento predefinito prevede la richiesta di scegliere se sostituire il modello di destinazione.

Se il set di dati di origine o di destinazione si trova in un progetto diverso da quello predefinito, aggiungi l'ID progetto ai nomi dei set di dati nel seguente formato: [PROJECT_ID]:[DATASET].

Fornisci il flag --location e imposta il valore sulla tua località.

bq --location=[LOCATION] cp -f -n [PROJECT_ID]:[DATASET].[SOURCE_MODEL] [PROJECT_ID]:[DATASET].[DESTINATION_MODEL]

Dove:

  • [LOCATION] è il nome del luogo in cui ti trovi. Il flag --location è facoltativo. Ad esempio, se utilizzi BigQuery nella regione di Tokyo, puoi impostare il valore del flag su asia-northeast1. Puoi impostare un valore predefinito per la località utilizzando il file.bigqueryrc.
  • [PROJECT_ID] è l'ID progetto.
  • [DATASET] è il nome del set di dati di origine o di destinazione.
  • [SOURCE_MODEL] è il modello che stai copiando.
  • [DESTINATION_MODEL] è il nome del modello nel set di dati di destinazione.

Esempi:

Inserisci il seguente comando per copiare mydataset.mymodel in mydataset2. Entrambi i set di dati si trovano nel progetto predefinito e sono stati creati nella località con più regioni US.

bq --location=US cp mydataset.mymodel mydataset2.mymodel

Inserisci il comando seguente per copiare mydataset.mymodel e sovrascrivere un modello di destinazione con lo stesso nome. Il set di dati di origine si trova nel progetto predefinito. Il set di dati di destinazione si trova in myotherproject. La scorciatoia -f viene utilizzata per sovrascrivere il modello di destinazione senza una richiesta. mydataset e myotherdataset sono stati creati nella località a più regioni US.

bq --location=US cp -f mydataset.mymodel myotherproject:myotherdataset.mymodel

Inserisci il comando seguente per copiare mydataset.mymodel e restituire un errore se il set di dati di destinazione contiene un modello con lo stesso nome. Il set di dati di origine è nel progetto predefinito. Il set di dati di destinazione si trova in myotherproject. La scorciatoia -n viene utilizzata per impedire di sovrascrivere un modello con lo stesso nome. Entrambi i set di dati sono stati creati nella località con più regioni US.

bq --location=US cp -n mydataset.mymodel myotherproject:myotherdataset.mymodel

Inserisci il seguente comando per copiare mydataset.mymodel in mydataset2 e per rinominare il modello mymodel2. Entrambi i set di dati si trovano nel progetto predefinito. Entrambi i set di dati sono stati creati nella regione asia-northeast1.

bq --location=asia-northeast1 cp mydataset.mymodel mydataset2.mymodel2

API

Per copiare un modello utilizzando l'API, chiama il metodo bigquery.jobs.insert e configura un job copy. Specifica la tua località nella proprietà location nella sezione jobReference della risorsa job.

Devi specificare i seguenti valori nella configurazione del job:

"copy": {
      "sourceTable": {       // Required
        "projectId": string, // Required
        "datasetId": string, // Required
        "tableId": string    // Required
      },
      "destinationTable": {  // Required
        "projectId": string, // Required
        "datasetId": string, // Required
        "tableId": string    // Required
      },
      "createDisposition": string,  // Optional
      "writeDisposition": string,   // Optional
    },

Dove:

  • sourceTable fornisce informazioni sul modello da copiare.
  • destinationTable fornisce informazioni sul nuovo modello.
  • createDisposition specifica se creare il modello nel caso in cui non esista.
  • writeDisposition specifica se sovrascrivere un modello esistente.

Cripta modelli

Per saperne di più sull'utilizzo di una chiave di crittografia gestita dal cliente (CMEK) per criptare un modello, consulta Utilizzare CMEK per proteggere i modelli di BigQuery ML.

Passaggi successivi