Panoramica della conversione del modello

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. Questa pagina fornisce una guida per convertire i tuoi modelli TensorFlow nel formato del modello TensorFlow Lite.

Flusso di lavoro di conversione

La conversione dei modelli TensorFlow nel formato TensorFlow Lite può richiedere alcuni percorsi a seconda del contenuto del modello ML. Come primo passaggio di tale processo, dovresti valutare il tuo modello per determinare se può essere convertito direttamente. Questa valutazione determina se il contenuto del modello è supportato dagli ambienti di runtime TensorFlow Lite standard in base alle operazioni TensorFlow che utilizza. Se il modello utilizza operazioni al di fuori del set supportato, hai la possibilità di rifattorizzare il modello o utilizzare tecniche di conversione avanzate.

Il diagramma seguente mostra i passaggi di alto livello nella conversione di un modello.

Flusso di lavoro di conversione di TFLite

Figura 1. Flusso di lavoro di conversione di TensorFlow Lite.

Le sezioni seguenti descrivono il processo di valutazione e conversione dei modelli da utilizzare con TensorFlow Lite.

Formati del modello di input

È possibile utilizzare il convertitore con i seguenti formati di modello di input:

Se disponi di un modello Jax, puoi utilizzare l'API TFLiteConverter.experimental_from_jax per convertirlo nel formato TensorFlow Lite. Tieni presente che questa API è soggetta a modifiche mentre è in modalità sperimentale.

Valutazione della conversione

La valutazione del tuo modello è un passaggio importante prima di tentare di convertirlo. Durante la valutazione, si desidera determinare se il contenuto del modello è compatibile con il formato TensorFlow Lite. Dovresti anche determinare se il tuo modello è adatto per l'uso su dispositivi mobili e perimetrali in termini di dimensioni dei dati utilizzati dal modello, requisiti di elaborazione hardware e dimensioni e complessità complessive del modello.

Per molti modelli, il convertitore dovrebbe funzionare immediatamente. Tuttavia, la libreria di operatori incorporata di TensorFlow Lite supporta un sottoinsieme di operatori principali di TensorFlow, il che significa che alcuni modelli potrebbero richiedere passaggi aggiuntivi prima della conversione in TensorFlow Lite. Inoltre, alcune operazioni supportate da TensorFlow Lite hanno requisiti di utilizzo limitati per motivi di prestazioni. Consulta la guida alla compatibilità dell'operatore per determinare se il tuo modello deve essere rifattorizzato per la conversione.

Conversione del modello

Il convertitore TensorFlow Lite prende un modello TensorFlow e genera un modello TensorFlow Lite (un formato FlatBuffer ottimizzato identificato dall'estensione del file .tflite ). Puoi caricare un SavedModel o convertire direttamente un modello che crei nel codice.

Puoi convertire il tuo modello utilizzando l' API Python o lo strumento della riga di comando. Consulta la guida del convertitore TensorFlow Lite per istruzioni dettagliate sull'esecuzione del convertitore sul tuo modello.

In genere convertiresti il ​​tuo modello per l' ambiente di runtime TensorFlow Lite standard o per l' ambiente di runtime dei servizi Google Play per TensorFlow Lite (Beta). Alcuni casi d'uso avanzati richiedono la personalizzazione dell'ambiente di runtime del modello, che richiede passaggi aggiuntivi nel processo di conversione. Per ulteriori indicazioni, vedere la sezione relativa all'ambiente di runtime avanzato della panoramica di Android.

Conversione avanzata

Se riscontri errori durante l'esecuzione del convertitore sul tuo modello, è molto probabile che tu abbia un problema di compatibilità dell'operatore. Non tutte le operazioni di TensorFlow sono supportate da TensorFlow Lite. È possibile aggirare questi problemi effettuando il refactoring del modello o utilizzando opzioni di conversione avanzate che consentono di creare un modello in formato TensorFlow Lite modificato e un ambiente di runtime personalizzato per quel modello.

Prossimi passi

  • Consulta la panoramica dell'ottimizzazione per indicazioni su come ottimizzare il tuo modello convertito utilizzando tecniche come la quantitizzazione post-formazione .
  • Consulta la guida di Model Analyzer per utilizzare l'API per analizzare il tuo modello per problemi come la compatibilità dei delegati.
  • Consulta la panoramica sull'aggiunta di metadati per informazioni su come aggiungere metadati ai tuoi modelli. I metadati forniscono per altri usi una descrizione del tuo modello e informazioni che possono essere sfruttate dai generatori di codice.