I modelli di machine learning (ML) che utilizzi con LiteRT sono originariamente creati e addestrati utilizzando librerie e strumenti TensorFlow core. Dopo aver creato un modello con TensorFlow Core, puoi convertirlo in un formato di modello ML più piccolo ed efficiente chiamato modello LiteRT. Questa sezione fornisce indicazioni per la conversione dei modelli TensorFlow nel formato del modello LiteRT.
Flusso di lavoro di conversione
La conversione dei modelli TensorFlow nel formato LiteRT può seguire diversi percorsi a seconda del contenuto del modello ML. Come primo passo di questo processo, devi valutare il modello per determinare se può essere convertito direttamente. Questa valutazione determina se il contenuto del modello è supportato dagli ambienti di runtime LiteRT standard in base alle operazioni TensorFlow che utilizza. Se il tuo modello utilizza operazioni al di fuori del set supportato, hai la possibilità di refattorizzare il modello o utilizzare tecniche di conversione avanzate.
Il diagramma seguente mostra i passaggi di alto livello per la conversione di un modello.

Figura 1. Flusso di lavoro di conversione LiteRT.
Le sezioni seguenti descrivono la procedura di valutazione e conversione dei modelli per l'utilizzo con LiteRT.
Formati dei modelli di input
Puoi utilizzare il convertitore con i seguenti formati di modelli di input:
- SavedModel (consigliato): un modello TensorFlow salvato come insieme di file su disco.
- Modello Keras: un modello creato utilizzando l'API Keras di alto livello.
- Formato Keras H5: un'alternativa leggera al formato SavedModel supportato dall'API Keras.
- Modelli creati da funzioni concrete: un modello creato utilizzando l'API TensorFlow di basso livello.
Puoi salvare i modelli di funzioni Keras e concrete come SavedModel e convertirli utilizzando il percorso consigliato.
Se hai un modello Jax, puoi utilizzare l'API TFLiteConverter.experimental_from_jax
per convertirlo nel formato LiteRT. Tieni presente che questa API è soggetta a modifiche
in modalità sperimentale.
Valutazione delle conversioni
La valutazione del modello è un passaggio importante prima di tentare di convertirlo. Durante la valutazione, devi determinare se i contenuti del modello sono compatibili con il formato LiteRT. Devi anche determinare se il tuo modello è adatto all'uso su dispositivi mobili e edge in termini di dimensioni dei dati utilizzati, requisiti di elaborazione hardware e dimensioni e complessità complessive del modello.
Per molti modelli, il convertitore dovrebbe funzionare immediatamente. Tuttavia, la libreria di operatori integrata di LiteRT supporta un sottoinsieme di operatori principali di TensorFlow, il che significa che alcuni modelli potrebbero richiedere passaggi aggiuntivi prima della conversione in LiteRT. Inoltre, alcune operazioni supportate da LiteRT hanno requisiti di utilizzo limitato per motivi di rendimento. Consulta la guida alla compatibilità degli operatori per determinare se il tuo modello deve essere refattorizzato per la conversione.
Conversione del modello
Il convertitore LiteRT prende un modello TensorFlow e genera un modello LiteRT (un formato FlatBuffer ottimizzato identificato dall'estensione del file .tflite). Puoi caricare un SavedModel o convertire direttamente
un modello creato nel codice.
Il convertitore accetta tre flag (o opzioni) principali che personalizzano la conversione per il tuo modello:
- I flag di compatibilità ti consentono di specificare se la conversione deve consentire operatori personalizzati.
- I flag di ottimizzazione ti consentono di specificare il tipo di ottimizzazione da applicare durante la conversione. La tecnica di ottimizzazione più utilizzata è la quantizzazione post-training.
- I flag dei metadati ti consentono di aggiungere metadati al modello convertito, il che semplifica la creazione di codice wrapper specifico della piattaforma durante il deployment dei modelli sui dispositivi.
Puoi convertire il modello utilizzando l'API Python o lo strumento riga di comando. Consulta la guida Converti modello TF per istruzioni passo passo sull'esecuzione del convertitore sul tuo modello.
In genere, il modello viene convertito per l'ambiente di runtime LiteRT standard o per l'ambiente di runtime dei servizi Google Play per LiteRT (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, consulta la sezione Ambiente di runtime avanzato della panoramica di Android.
Conversione avanzata
Se si verificano errori durante l'esecuzione del convertitore sul modello, è molto probabile che si tratti di un problema di compatibilità dell'operatore. Non tutte le operazioni TensorFlow sono supportate da TensorFlow Lite. Puoi risolvere questi problemi eseguendo il refactoring del modello o utilizzando opzioni di conversione avanzate che ti consentono di creare un modello in formato LiteRT modificato e un ambiente di runtime personalizzato per questo modello.
- Per ulteriori informazioni sulle considerazioni relative alla compatibilità dei modelli TensorFlow e LiteRT, consulta la Panoramica della compatibilità dei modelli.
- Gli argomenti nella panoramica della compatibilità del modello trattano tecniche avanzate per il refactoring del modello, ad esempio la guida Operatori di selezione.
- Per l'elenco completo delle operazioni e delle limitazioni, consulta la pagina Operazioni LiteRT.
Passaggi successivi
- Consulta la guida Converti modelli TF per iniziare rapidamente a convertire il tuo modello.
- Consulta la panoramica dell'ottimizzazione per indicazioni su come ottimizzare il modello convertito utilizzando tecniche come la quantizzazione post-training.
- Consulta la panoramica sull'aggiunta di metadati per scoprire come aggiungere metadati ai tuoi modelli. I metadati forniscono una descrizione del modello e informazioni che possono essere sfruttate dai generatori di codice.