Crea modelli TensorFlow Lite

Questa pagina fornisce una guida per la creazione dei modelli TensorFlow con l'intenzione di convertirli nel formato del modello TensorFlow Lite. I modelli di machine learning (ML) utilizzati con TensorFlow Lite sono stati originariamente creati e addestrati utilizzando le librerie e gli strumenti di base di TensorFlow. Dopo aver creato un modello con TensorFlow core, puoi convertirlo in un formato di modello ML più piccolo ed efficiente chiamato modello TensorFlow Lite.

  • Se hai già un modello da convertire, consulta la pagina di panoramica Converti modelli per indicazioni sulla conversione del tuo modello.

  • Se desideri modificare un modello esistente invece di ricominciare da zero, consulta la panoramica Modifica modelli per indicazioni.

Costruisci il tuo modello

Se stai creando un modello personalizzato per il tuo caso d'uso specifico, dovresti iniziare con lo sviluppo e l'addestramento di un modello TensorFlow o estendendone uno esistente.

Vincoli di progettazione del modello

Prima di iniziare il processo di sviluppo del modello, è necessario essere a conoscenza dei vincoli per i modelli TensorFlow Lite e creare il modello tenendo presenti questi vincoli:

  • Capacità di elaborazione limitate : rispetto ai server completamente attrezzati con più CPU, elevata capacità di memoria e processori specializzati come GPU e TPU, i dispositivi mobili e perimetrali sono molto più limitati. Sebbene stiano crescendo in termini di potenza di elaborazione e compatibilità hardware specializzata, i modelli e i dati che puoi elaborare efficacemente con loro sono ancora relativamente limitati.
  • Dimensioni dei modelli : la complessità complessiva di un modello, inclusa la logica di preelaborazione dei dati e il numero di livelli nel modello, aumenta la dimensione in memoria di un modello. Un modello di grandi dimensioni può funzionare in modo inaccettabilmente lento o semplicemente non rientrare nella memoria disponibile di un dispositivo mobile o edge.
  • Dimensione dei dati : la dimensione dei dati di input che possono essere elaborati in modo efficace con un modello di apprendimento automatico è limitata su un dispositivo mobile o edge. I modelli che utilizzano librerie di dati di grandi dimensioni come librerie di lingua, librerie di immagini o librerie di clip video potrebbero non adattarsi a questi dispositivi e potrebbero richiedere soluzioni di archiviazione e accesso fuori dispositivo.
  • Operazioni TensorFlow supportate: gli ambienti di runtime TensorFlow Lite supportano un sottoinsieme di operazioni del modello di apprendimento automatico rispetto ai normali modelli TensorFlow. Durante lo sviluppo di un modello da utilizzare con TensorFlow Lite, è necessario tenere traccia della compatibilità del modello rispetto alle capacità degli ambienti di runtime di TensorFlow Lite.

Per ulteriori informazioni sulla creazione di modelli efficaci, compatibili e ad alte prestazioni per TensorFlow Lite, vedere Procedure consigliate per le prestazioni .

Sviluppo del modello

Per creare un modello TensorFlow Lite, devi prima creare un modello utilizzando le librerie di base di TensorFlow. Le librerie principali di TensorFlow sono le librerie di livello inferiore che forniscono API per creare, addestrare e distribuire modelli ML.

Flusso di lavoro di compilazione di TFLite

TensorFlow fornisce due percorsi per farlo. Puoi sviluppare il tuo codice modello personalizzato oppure puoi iniziare con un'implementazione del modello disponibile in TensorFlow Model Garden .

Giardino modello

Il TensorFlow Model Garden fornisce implementazioni di molti modelli di machine learning (ML) all'avanguardia per la visione e l'elaborazione del linguaggio naturale (NLP). Troverai anche strumenti per il flusso di lavoro che ti consentono di configurare ed eseguire rapidamente quei modelli su set di dati standard. I modelli di apprendimento automatico in Model Garden includono codice completo in modo da poterli testare, addestrare o riqualificarli utilizzando i tuoi set di dati.

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 raggiungere i tuoi obiettivi di ML.

Modelli personalizzati

Se il tuo caso d'uso è al di fuori di quelli supportati dai modelli in Model Garden, puoi usare una libreria di alto livello come Keras per sviluppare il tuo codice di addestramento personalizzato. Per apprendere i fondamenti di TensorFlow, vedere la guida TensorFlow . Per iniziare con gli esempi, vedere la panoramica dei tutorial di TensorFlow che contiene suggerimenti per iniziare a tutorial di livello esperto.

Valutazione del modello

Dopo aver sviluppato il modello, dovresti valutarne le prestazioni e testarlo sui dispositivi degli utenti finali. TensorFlow fornisce alcuni modi per farlo.

  • TensorBoard è uno strumento per fornire le misurazioni e le visualizzazioni necessarie durante il flusso di lavoro di apprendimento automatico. Consente di monitorare le metriche degli esperimenti come la perdita e l'accuratezza, la visualizzazione del grafico del modello, la proiezione di incorporamenti in uno spazio dimensionale inferiore e molto altro.
  • Sono disponibili strumenti di benchmarking per ciascuna piattaforma supportata, come l'app benchmark Android e l'app benchmark iOS. Utilizza questi strumenti per misurare e calcolare le statistiche per importanti metriche delle prestazioni.

Ottimizzazione del modello

Con i vincoli sulle risorse specifici dei modelli TensorFlow Lite, l'ottimizzazione del modello può aiutare a garantire prestazioni ottimali del modello e utilizzare meno risorse di calcolo. Le prestazioni del modello di apprendimento automatico sono generalmente un equilibrio tra dimensione e velocità di inferenza rispetto alla precisione. TensorFlow Lite attualmente supporta l'ottimizzazione tramite quantizzazione, potatura e clustering. Per ulteriori dettagli su queste tecniche, vedere l'argomento sull'ottimizzazione del modello . TensorFlow fornisce anche un toolkit di ottimizzazione del modello che fornisce un'API che implementa queste tecniche.

Prossimi passi