Gestione di modelli e job

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

Denominazione delle risorse di AI Platform Training

Devi specificare un nome per ogni job creato. 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.
  • È sensibile alle maiuscole.
  • 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 i modelli e i job, il modello principale per le versioni).

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

  • Assegna un nome a tutti i job per lo stesso modello utilizzando il nome del modello e un indice di job (il timestamp della creazione del job è adatto).
  • Assegna ai modelli un nome in modo che siano facilmente identificabili dal set di dati che utilizzano (ad esempio, census_wide_deep è in genere migliore di my_new_model).
  • Le versioni sono ideali se sono facilmente leggibili. Anziché utilizzare un timestamp o un valore univoco simile, ti consigliamo di utilizzare semplici indicatori di versione come v1.

Gestione dei job

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

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

Operazione Interfacce Note
create projects.jobs.create

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

gcloud ai-platform jobs submit training

gcloud ai-platform jobs submit prediction

Nessuna implementazione della console.
annulla projects.jobs.cancel

Annullamento di 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 Jobsriferimento alla risorsa.

gcloud ai-platform jobs describe

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

gcloud ai-platform jobs list

Elenco di offerte di lavoro.

Gestione delle operazioni asincrone

La maggior parte delle operazioni di gestione delle risorse di AI Platform Training restituisce un risultato il più rapidamente possibile e fornisce una risposta completa. Tuttavia, esistono due tipi di operazioni asincrone che devi conoscere: job e operazioni a lungo termine.

Quando avvii un'operazione asincrona, in genere vuoi sapere quando termina. La procedura per ottenere lo stato è diversa per i job e le operazioni di lunga durata:

Visualizzazione dello stato di un job

Puoi utilizzare projects.jobs.get per recuperare 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 compito è stato completato quando Job.state nella risposta è uguale a uno di questi valori:

  • SUCCEEDED
  • FAILED
  • CANCELLED

Visualizzazione dello stato di un'operazione a lunga esecuzione

AI Platform Training dispone di tre operazioni a lunga esecuzione:

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

Tra le operazioni che richiedono molto tempo, solo la creazione di una versione potrebbe richiedere molto tempo. L'eliminazione di modelli e versioni viene in genere eseguita in quasi 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. Recupera 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 di nome del forma:

      'projects/my_project/operations/operation_name'
      

      Il messaggio di risposta contiene un oggetto Operation.

    2. Ottieni il valore per la chiave "done". Si tratta di un indicatore booleano del completamento dell'operazione. È true se l'operazione è completata.

  3. Al termine, l'oggetto Operation includerà una delle due chiavi:

    • La chiave "response" è presente se l'operazione è andata a buon fine. Il suo valore deve essere google.protobuf.Empty, poiché nessuna delle operazioni a lungo termine di AI Platform Training ha oggetti di risposta.

    • La chiave "error" è presente se si è verificato un errore. Il suo valore è un oggetto Status.

Passaggi successivi