A seconda delle dimensioni del set di dati e della complessità del modello, può richiedere molto tempo. L'addestramento basato su dati reali può durare molte ore. Puoi per monitorare diversi aspetti del job durante l'esecuzione.
Controllo dello stato del job in corso...
Per lo stato generale, il modo più semplice per controllare il tuo lavoro è Job di addestramento per AI Platform nella console Google Cloud. Puoi ottenere gli stessi dettagli in modo programmatico e con Google Cloud CLI.
console
Apri la pagina Job di AI Platform Training nella nella console Google Cloud.
Fai clic sul nome del job nell'elenco per aprire la pagina Dettagli job.
Puoi trovare lo stato del tuo job nella parte superiore del report. Icona e testo descrivono lo stato attuale del job.
Filtro dei job
Nella pagina Job, puoi filtrare i lavori in base a diversi tra cui Type, JobID, State e data e ora di creazione del job.
- Fai clic all'interno nel campo Filtra per prefisso che si trova sopra l'elenco delle offerte di lavoro. Seleziona un prefisso da utilizzare per i filtri. Ad esempio, seleziona Tipo.
Per completare il filtro, fai clic sul suffisso del filtro che vuoi utilizzare. Ad esempio, le opzioni di suffisso per il prefisso Tipo sono:
- Addestramento con codice personalizzato
- Addestramento degli algoritmi integrati
- Previsione
Il filtro viene applicato all'elenco Job e il nome del viene visualizzato nel campo del filtro. Ad esempio, se selezionato Addestramento con codice personalizzato, il filtro Tipo:Addestramento con codice personalizzato viene visualizzato in alto e filtra i tuoi dei job. Se necessario, puoi aggiungere più filtri.
Visualizzazione delle prove degli iperparametri
Nella pagina Dettagli job puoi visualizzare le metriche per ogni prova del
Tabella delle prove di HyperTune. Questa tabella viene visualizzata solo per i job che utilizzano
l'ottimizzazione iperparametri. Puoi attivare/disattivare la visualizzazione delle prove in base alle metriche
più alti o più bassi: rmse
, Training steps
e learning_rate
.
Per visualizzare i log relativi a una prova specifica, fai clic sull'icona
gcloud
Utilizza le funzionalità di
gcloud ai-platform jobs describe
per ottenere dettagli sullo stato attuale del job nella riga di comando:
gcloud ai-platform jobs describe job_name
Puoi ottenere un elenco di job associati al tuo progetto che include il job
stato e ora di creazione con
gcloud ai-platform jobs list
Tieni presente che questo comando nella sua forma più semplice elenca tutti i job
creato per il tuo progetto. Devi definire l'ambito della richiesta per limitare il numero di job registrati. Ecco alcuni esempi per iniziare:
Utilizza l'argomento --limit
per limitare il numero di job. Questo esempio elenca i 5 job più recenti:
gcloud ai-platform jobs list --limit=5
Utilizza l'argomento --filter
per limitare l'elenco dei job a quelli con un
un determinato valore dell'attributo. Puoi filtrare in base a uno o più attributi del
Job. Così come
attributi principali del job, puoi applicare filtri agli oggetti all'interno del job,
TrainingInput
.
Esempi di filtri dell'elenco:
Elenca tutti i job avviati dopo un determinato periodo di tempo. Questo esempio utilizza le 19:00 della sera del 15 gennaio 2017:
gcloud ai-platform jobs list --filter='createTime>2017-01-15T19:00'
Elenca gli ultimi tre job con nomi che iniziano con una determinata stringa. Per Ad esempio, la stringa può rappresentare il nome che usi per tutta l'addestramento job per un determinato modello. Questo esempio utilizza un modello in cui l'identificatore del job è "census" con un suffisso incrementato di un indice per ogni job:
gcloud ai-platform jobs list --filter='jobId:census*' --limit=3
Elenca tutti i job non riusciti con i nomi che iniziano con "rnn":
gcloud ai-platform jobs list --filter='jobId:rnn* AND state:FAILED'
Per informazioni dettagliate sulle espressioni supportate dall'opzione di filtro, consulta le
documentazione relativa a gcloud
un comando kubectl.
Python
Combina la stringa di identificatore del job combinando il nome del progetto e job nel modulo:
'projects/your_project_name/jobs/your_job_name'
:projectName = 'your_project_name' projectId = 'projects/{}'.format(projectName) jobName = 'your_job_name' jobId = '{}/jobs/{}'.format(projectId, jobName)
Invia la richiesta a projects.jobs.get:
request = ml.projects().jobs().get(name=jobId)
Esegui la richiesta (questo esempio inserisce la chiamata
execute
in un bloccotry
per rilevare le eccezioni):response = None try: response = request.execute() except errors.HttpError, err: # Something went wrong. Handle the exception in an appropriate # way for your application.
Controlla la risposta per assicurarti che, indipendentemente dagli errori HTTP, la chiamata di servizio abbia restituito dati.
if response == None: # Treat this condition as an error as best suits your # application.
Recupera i dati sullo stato. L'oggetto risposta è un dizionario contenente tutte ai membri applicabili Risorsa Job, tra cui l'intero TrainingInput della risorsa e i membri applicabili TrainingOutput risorsa. L'esempio seguente stampa lo stato del job di unità ML consumate dal job.
print('Job status for {}.{}:'.format(projectName, jobName)) print(' state : {}'.format(response['state'])) print(' consumedMLUnits : {}'.format( response['trainingOutput']['consumedMLUnits']))
I job possono non riuscire se si verifica un problema con l'applicazione di addestramento o con l'infrastruttura di AI Platform Training. Puoi utilizzare Cloud Logging per avviare il debug.
Puoi anche utilizzare una shell interattiva per ispezionare i container di addestramento durante l'esecuzione del job di addestramento.
Monitoraggio del consumo di risorse
Puoi trovare i seguenti grafici sull'utilizzo delle risorse per i job di addestramento la pagina Dettagli job:
- L'utilizzo aggregato della CPU o della GPU del job e l'utilizzo della memoria. Questi sono suddivise per master, worker e server dei parametri.
- L'utilizzo della rete del job, misurato in byte al secondo. Esistono diversi per i byte inviati e quelli ricevuti.
Vai alla pagina Job di addestramento della piattaforma AI nella console Google Cloud.
Trova il tuo lavoro nell'elenco.
Fai clic sul nome del job nell'elenco per aprire la pagina Dettagli job.
Seleziona le schede etichettate CPU, GPU o Rete per visualizzare e i grafici sull'utilizzo delle risorse associati.
Puoi anche accedere alle informazioni sulle risorse online utilizzate dai tuoi job di addestramento con Cloud Monitoring. AI Platform Training esporta le metriche in Cloud Monitoring.
Ogni tipo di metrica di AI Platform Training include "training" nel nome. Per
ad esempio ml.googleapis.com/training/cpu/utilization
o
ml.googleapis.com/training/accelerator/memory/utilization
.
Monitoraggio con TensorBoard
Puoi configurare l'applicazione di addestramento in modo da salvare i dati di riepilogo esaminare e visualizzare utilizzando TensorBoard.
Salva i dati di riepilogo in una posizione di Cloud Storage e indirizza TensorBoard a quella posizione per esaminare i dati. Puoi anche puntare TensorBoard a un con sottodirectory che contengono l'output di più job.
Scopri di più su TensorBoard e su AI Platform Training nel per iniziare .
Passaggi successivi
- Risolvere i problemi relativi al job di addestramento.
- Esegui il deployment del modello addestrato per eseguire test online ed eseguire previsioni.