Gestione di modelli e job

Durante il processo di addestramento e deployment dei modelli e di generazione delle previsioni, devi gestire le risorse sulla Google Cloud Platform. Questa pagina descrive come utilizzare modelli, versioni e job.

Denominazione delle risorse di addestramento di AI Platform

Devi specificare un nome per ogni job che crei. Le regole per la denominazione sono coerenti per tutti e tre i tipi di risorse. Ogni nome:

  • Può contenere solo lettere, numeri e trattini bassi.
  • Fa distinzione tra maiuscole e minuscole.
  • Deve iniziare con una lettera.
  • Non deve contenere più di 128 caratteri.
  • Deve essere univoco all'interno del relativo spazio dei nomi (il progetto per modelli e job, il modello principale per le versioni).

Devi creare nomi facili da distinguere negli elenchi di risorse, ad esempio i log dei job. Ecco alcuni suggerimenti:

  • Assegna un nome a tutti i job relativi allo stesso modello utilizzando il nome del modello e un indice del job (il timestamp al momento della creazione del job funziona correttamente).
  • Assegna un nome ai modelli in modo che siano facilmente identificabili dal set di dati che utilizzano (census_wide_deep di solito è migliore di my_new_model, ad esempio).
  • Le versioni sono migliori se facilmente leggibili. Anziché utilizzare un timestamp o un valore univoco simile, ti consigliamo di utilizzare classificatori di versioni semplici come v1.

Gestione dei job

AI Platform Training supporta due tipi di job: addestramento e previsione batch. I dettagli di ciascun tipo sono diversi, ma l'operazione di base è la stessa.

La seguente tabella riassume le operazioni del job ed elenca le interfacce che puoi utilizzare per eseguirle:

Operazione Interfacce Note
crea projects.jobs.create

La creazione di un job è descritta in dettaglio nelle guide di addestramento e previsione batch.

gcloud ai-platform jobs submit training

gcloud ai-platform jobs submit prediction

Nessuna implementazione della console.
annulla projects.jobs.cancel

Annulla un job in esecuzione.

gcloud ai-platform jobs cancel

Annulla nella pagina Dettagli job.
get projects.jobs.get Le informazioni che ricevi sono descritte nel riferimento alle risorse Jobs.

gcloud ai-platform jobs describe

Pagina Dettagli job (inserisci con un link dall'elenco Job).
list projects.jobs.list Verranno visualizzati solo i job creati negli ultimi 90 giorni.

gcloud ai-platform jobs list

Elenco job.

Gestione delle operazioni asincrone

La maggior parte delle operazioni di gestione delle risorse di AI Platform Training torna il più rapidamente possibile e fornisce una risposta completa. Tuttavia, esistono due tipi di operazioni asincrone che è necessario comprendere: job e operazioni a lunga esecuzione.

Quando avvii un'operazione asincrona, in genere vuoi sapere quando viene completata. Il processo per ottenere lo stato è diverso per i job e le operazioni a lunga esecuzione:

Recupero dello stato di un lavoro

Puoi utilizzare projects.jobs.get per ottenere lo stato di un job. Questo metodo è fornito anche come gcloud ai-platform jobs describe e nella pagina Job della console Google Cloud. Indipendentemente da come ottieni lo stato, le informazioni si basano sui membri della risorsa Job. Saprai che il job è stato completato quando Job.state nella risposta è uguale a uno di questi valori:

  • SUCCEEDED
  • FAILED
  • CANCELLED

Recupero dello stato di un'operazione a lunga esecuzione

AI Platform Training prevede tre operazioni a lunga esecuzione:

  • Creazione di una versione
  • Eliminazione di un modello
  • Eliminazione di una versione

Tra le operazioni a lunga esecuzione, solo la creazione di una versione potrebbe richiedere molto tempo per il completamento. L'eliminazione di modelli e versioni viene in genere eseguita quasi in tempo reale.

Se crei una versione utilizzando Google Cloud CLI o la console Google Cloud, l'interfaccia ti informa automaticamente al termine dell'operazione. Se crei una versione con l'API, puoi monitorare autonomamente lo stato dell'operazione:

  1. Ottieni il nome dell'operazione assegnato dal servizio dall'oggetto Operation nella risposta alla chiamata a projects.models.versions.create. La chiave per il valore del nome è "name".

  2. Utilizza projects.operations.get per eseguire periodicamente il polling dello stato dell'operazione.

    1. Utilizza il nome dell'operazione del primo passaggio per formare una stringa nome del modulo:

      'projects/my_project/operations/operation_name'
      

      Il messaggio di risposta contiene un oggetto Operation.

    2. Ottieni il valore per la chiave "done". Questo è un indicatore booleano del completamento dell'operazione. È vero se l'operazione è completata.

  3. L'oggetto Operation includerà una delle due chiavi al completamento:

    • La chiave "response" è presente se l'operazione è riuscita. Il suo valore dovrebbe essere google.protobuf.Vuoto, poiché nessuna delle operazioni a lunga esecuzione di AI Platform Training contiene oggetti di risposta.

    • La chiave "error" è presente in caso di errore. Il suo valore è un oggetto Status.

Passaggi successivi