Panoramica del giardino modello

TensorFlow Model Garden fornisce implementazioni di molti modelli di machine learning (ML) all'avanguardia per la visione e l'elaborazione del linguaggio naturale (NLP), nonché strumenti di flusso di lavoro che consentono di configurare ed eseguire rapidamente tali modelli su set di dati standard. Sia che tu stia cercando di confrontare le prestazioni per un modello noto, verificare i risultati di ricerche rilasciate di recente o estendere modelli esistenti, Model Garden può aiutarti a portare avanti la tua ricerca e le tue applicazioni ML.

Il Model Garden include le seguenti risorse per gli sviluppatori di machine learning:

Queste risorse sono create per essere utilizzate con il framework TensorFlow Core e integrarsi con i progetti di sviluppo TensorFlow esistenti. Le risorse di Model Garden sono fornite anche con una licenza open source , quindi puoi estendere e distribuire liberamente i modelli e gli strumenti.

I modelli ML pratici richiedono un'elevata intensità di calcolo per l'addestramento e l'esecuzione e possono richiedere acceleratori come le unità di elaborazione grafica (GPU) e le unità di elaborazione tensoriale (TPU). La maggior parte dei modelli in Model Garden è stata addestrata su set di dati di grandi dimensioni utilizzando TPU. Tuttavia, puoi anche addestrare ed eseguire questi modelli su processori GPU e CPU.

Modello modelli da giardino

I modelli di apprendimento automatico in Model Garden includono codice completo in modo da poterli testare, addestrare o riqualificarli per la ricerca e la sperimentazione. Il Model Garden comprende due categorie principali di modelli: modelli ufficiali e modelli di ricerca .

Modelli ufficiali

Il repository dei modelli ufficiali è una raccolta di modelli all'avanguardia, con particolare attenzione alla visione e all'elaborazione del linguaggio naturale (PNL). Questi modelli sono implementati utilizzando le attuali API di alto livello TensorFlow 2.x. Le librerie di modelli in questo repository sono ottimizzate per prestazioni rapide e gestite attivamente dagli ingegneri di Google. I modelli ufficiali includono metadati aggiuntivi che puoi utilizzare per configurare rapidamente gli esperimenti utilizzando il framework dell'esperimento di addestramento di Model Garden.

Modelli di ricerca

Il repository dei modelli di ricerca è una raccolta di modelli pubblicati come risorse di codice per documenti di ricerca. Questi modelli sono implementati utilizzando TensorFlow 1.xe 2.x. Le librerie di modelli nella cartella di ricerca sono supportate dai proprietari del codice e dalla comunità di ricerca.

Quadro dell'esperimento di formazione

Il framework dell'esperimento di addestramento di Model Garden ti consente di assemblare ed eseguire rapidamente esperimenti di addestramento usando i suoi modelli ufficiali e i set di dati standard. Il framework di formazione utilizza metadati aggiuntivi inclusi con i modelli ufficiali di Model Garden per consentire di configurare rapidamente i modelli utilizzando un modello di programmazione dichiarativo. Puoi definire un esperimento di addestramento utilizzando i comandi Python nella libreria del modello TensorFlow o configurare l'addestramento utilizzando un file di configurazione YAML, come questo esempio .

Il framework di formazione utilizza tfm.core.base_trainer.ExperimentConfig come oggetto di configurazione, che contiene i seguenti oggetti di configurazione di primo livello:

  • runtime : definisce l'hardware di elaborazione, la strategia di distribuzione e altre ottimizzazioni delle prestazioni
  • task : definisce il modello, i dati di addestramento, le perdite e l'inizializzazione
  • trainer : definisce l'ottimizzatore, i cicli di formazione, i cicli di valutazione, i riepiloghi e i punti di controllo

Per un esempio completo di utilizzo del framework dell'esperimento di formazione Model Garden, vedere l'esercitazione sulla classificazione delle immagini con Model Garden . Per informazioni sul framework dell'esperimento di addestramento, consulta la documentazione dell'API dei modelli TensorFlow . Se stai cercando una soluzione per gestire i cicli di addestramento per i tuoi esperimenti di addestramento del modello, dai un'occhiata a Orbit .

Operazioni di riciclaggio specializzate

Il Model Garden contiene molte operazioni di visione e NLP progettate specificamente per eseguire modelli all'avanguardia che funzionano in modo efficiente su GPU e TPU. Consulta i documenti dell'API della libreria TensorFlow Models Vision per un elenco di operazioni di visione specializzate. Esaminare i documenti dell'API della libreria NLP di TensorFlow Models per un elenco delle operazioni NLP . Queste librerie includono anche funzioni di utilità aggiuntive utilizzate per la visione e l'elaborazione dei dati NLP, l'addestramento e l'esecuzione del modello.

Cicli di allenamento con Orbit

Lo strumento Orbit è una libreria flessibile e leggera progettata per semplificare la scrittura di cicli di addestramento personalizzati in TensorFlow 2.x e funziona bene con il framework dell'esperimento di addestramento Model Garden. Orbit gestisce attività comuni di addestramento del modello come il salvataggio dei checkpoint, l'esecuzione di valutazioni del modello e l'impostazione della scrittura di riepilogo. Si integra perfettamente con tf.distribute e supporta l'esecuzione su diversi tipi di dispositivi, inclusi CPU, GPU e hardware TPU. Lo strumento Orbit è anche open source , quindi puoi estenderlo e adattarlo alle tue esigenze di formazione del modello.

In genere si addestrano i modelli TensorFlow scrivendo un ciclo di allenamento personalizzato o utilizzando la funzione Keras Model.fit di alto livello. Per i modelli semplici, puoi definire e gestire un ciclo di addestramento personalizzato con metodi TensorFlow di basso livello come tf.GradientTape o tf.function . In alternativa, puoi utilizzare il Keras Model.fit di alto livello.

Tuttavia, se il tuo modello è complesso e il tuo ciclo di allenamento richiede un controllo o una personalizzazione più flessibili, dovresti usare Orbit. Puoi definire la maggior parte del tuo ciclo di allenamento dalla classe orbit.AbstractTrainer o orbit.StandardTrainer . Ulteriori informazioni sullo strumento Orbit nella documentazione dell'API Orbit .