Monitoraggio dei job di addestramento

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

  1. Apri la pagina Job di AI Platform Training nella nella console Google Cloud.

    Aprire Job nella console Google Cloud

  2. Fai clic sul nome del job nell'elenco per aprire la pagina Dettagli job.

  3. Puoi trovare lo stato del tuo job nella parte superiore del report. Icona e testo descrivono lo stato attuale del job.

    Le informazioni sullo stato del lavoro nella parte superiore della pagina Dettagli 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.

  1. 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.
  2. 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
  3. 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 more_vert icona e quindi fai clic su Visualizza log.

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

  1. 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)
    
  2. Invia la richiesta a projects.jobs.get:

    request = ml.projects().jobs().get(name=jobId)
    
  3. Esegui la richiesta (questo esempio inserisce la chiamata execute in un blocco try 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.
    
  4. 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.
    
  5. 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.
  1. Vai alla pagina Job di addestramento della piattaforma AI nella console Google Cloud.

    Vai alla pagina dei job di AI Platform Training

  2. Trova il tuo lavoro nell'elenco.

  3. Fai clic sul nome del job nell'elenco per aprire la pagina Dettagli job.

  4. 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