TensorFlow Lite

TensorFlow Lite è un set di strumenti che abilita l'apprendimento automatico sul dispositivo aiutando gli sviluppatori a eseguire i loro modelli su dispositivi mobili, embedded ed edge.

Caratteristiche principali

  • Ottimizzato per l'apprendimento automatico sul dispositivo , affrontando 5 vincoli chiave: latenza (non c'è andata e ritorno verso un server), privacy (nessun dato personale lascia il dispositivo), connettività (non è richiesta la connettività a Internet), dimensioni (modello ridotto e dimensione binaria) e consumo energetico (inferenza efficiente e mancanza di connessioni di rete).
  • Supporto per più piattaforme , che copre dispositivi Android e iOS , Linux embedded e microcontrollori .
  • Supporto per diverse lingue , che include Java, Swift, Objective-C, C++ e Python.
  • Alte prestazioni , con accelerazione hardware e ottimizzazione del modello .
  • Esempi end-to-end , per attività comuni di machine learning come classificazione di immagini, rilevamento di oggetti, stima di pose, risposta a domande, classificazione di testi, ecc. su più piattaforme.

Flusso di lavoro di sviluppo

La seguente guida illustra ogni fase del flusso di lavoro e fornisce collegamenti a ulteriori istruzioni:

1. Genera un modello TensorFlow Lite

Un modello TensorFlow Lite è rappresentato in uno speciale formato portatile efficiente noto come FlatBuffers (identificato dall'estensione del file .tflite ). Ciò offre numerosi vantaggi rispetto al formato del modello di buffer del protocollo di TensorFlow, come dimensioni ridotte (ingombro ridotto del codice) e inferenza più rapida (accesso diretto ai dati senza un ulteriore passaggio di analisi/decompressione) che consente a TensorFlow Lite di funzionare in modo efficiente su dispositivi con risorse di calcolo e memoria limitate .

Un modello TensorFlow Lite può includere facoltativamente metadati con una descrizione del modello leggibile dall'uomo e dati leggibili dalla macchina per la generazione automatica di pipeline di pre e post-elaborazione durante l'inferenza sul dispositivo. Fare riferimento a Aggiungere metadati per maggiori dettagli.

È possibile generare un modello TensorFlow Lite nei seguenti modi:

  • Utilizzare un modello TensorFlow Lite esistente: fare riferimento a Esempi di TensorFlow Lite per selezionare un modello esistente. I modelli possono contenere o meno metadati.

  • Crea un modello TensorFlow Lite: utilizza TensorFlow Lite Model Maker per creare un modello con il tuo set di dati personalizzato. Per impostazione predefinita, tutti i modelli contengono metadati.

  • Convertire un modello TensorFlow in un modello TensorFlow Lite: utilizzare il convertitore TensorFlow Lite per convertire un modello TensorFlow in un modello TensorFlow Lite. Durante la conversione, puoi applicare ottimizzazioni come la quantizzazione per ridurre le dimensioni e la latenza del modello con una perdita di precisione minima o nulla. Per impostazione predefinita, tutti i modelli non contengono metadati.

2. Eseguire l'inferenza

L' inferenza si riferisce al processo di esecuzione di un modello TensorFlow Lite sul dispositivo per effettuare previsioni basate sui dati di input. È possibile eseguire l'inferenza nei seguenti modi in base al tipo di modello:

Sui dispositivi Android e iOS, puoi migliorare le prestazioni utilizzando l'accelerazione hardware. Su entrambe le piattaforme è possibile utilizzare un delegato GPU , su Android è possibile utilizzare il delegato NNAPI (per i dispositivi più recenti) o il delegato Hexagon (su dispositivi meno recenti) e su iOS è possibile utilizzare il delegato Core ML . Per aggiungere il supporto per i nuovi acceleratori hardware, puoi definire il tuo delegato .

Iniziare

È possibile fare riferimento alle seguenti guide in base al dispositivo di destinazione:

Vincoli tecnici

  • Tutti i modelli TensorFlow non possono essere convertiti in modelli TensorFlow Lite , fare riferimento a Compatibilità con l'operatore .

  • Formazione sul dispositivo non supportata , tuttavia è sulla nostra tabella di marcia .