TensorFlow Lite — wat is het, belangrijkste mogelijkheden en toepassing

Auteur: IT Sectr Gepubliceerd: 2026-07-17 Leestijd: 6 min

TensorFlow Lite — is de lichtgewicht versie van het TensorFlow-framework, ontwikkeld door Google voor het uitvoeren van machine learning-modellen op mobiele en ingebedde apparaten met beperkte rekenkracht. In tegenstelling tot volledige TensorFlow gebruikt TFLite een gespecialiseerde interpreter en het .tflite-formaat, geoptimaliseerd voor snelle inferentie zonder ondersteuning voor training. Volgens TensorFlow Lite Guide, 2025 werkt het framework op Android, iOS en Linux en wordt het gebruikt op meer dan 4 miljard apparaten. TensorFlow Lite ondersteunt kwantisering, hardwareversnelling via NNAPI, GPU en Core ML delegates.

Belangrijkste punten

  • TensorFlow Lite — lichtgewicht framework voor on-device ML op mobiele en ingebedde apparaten.
  • Modellen worden geconverteerd naar .tflite-formaat via de TFLite-converter uit TensorFlow SavedModel of Keras.
  • Ondersteunt INT8, FP16-kwantisering en dynamische kwantisering voor formaatreductie.
  • Hardwareversnelling beschikbaar via GPU Delegate, NNAPI en Core ML Delegate.
  • TFLite werkt op Android, iOS en Linux met API's in Java, C++, Swift en Python.

Wat is TensorFlow Lite

TensorFlow Lite — is een gespecialiseerde runtime voor het uitvoeren van machine learning-modellen op apparaten met beperkte middelen. In tegenstelling tot volledige TensorFlow ondersteunt TFLite geen training en terugpropagatie — alleen inferentie. Dit maakt het mogelijk om de binaire grootte van de bibliotheek te minimaliseren: ongeveer 300 KB voor de basisinterpreter op Android.

De architectuur van TFLite is gebouwd rond het .tflite-formaat, gebaseerd op FlatBuffers. FlatBuffers biedt directe toegang tot gegevens zonder parseerstap, wat cruciaal is voor mobiele apparaten met beperkt geheugen. Een model in .tflite-formaat bevat de berekeningsgraaf, gewichten en metadata in één binair bestand.

Volgens Google I/O 2024 wordt TFLite gebruikt in Google Photos, Gboard, YouTube en andere Google-applicaties met een totaal publiek van meer dan 4 miljard apparaten. Het framework ondersteunt alle belangrijke architecturen: CNN, RNN, LSTM, Transformer en aangepaste operaties via delegates.

Architectuur van TensorFlow Lite

De TFLite-runtime bestaat uit vier componenten. TFLite Converter ontvangt het model uit TensorFlow (SavedModel, Keras, ConcreteFunction) en converteert het naar .tflite-formaat met optionele optimalisatie. TFLite Interpreter laadt .tflite en voert inferentie uit, waarbij tensoren en geheugen worden beheerd.

Delegates — zijn componenten die de uitvoering van operaties naar gespecialiseerde hardware verplaatsen. GPU Delegate gebruikt OpenGL ES en Metal, NNAPI Delegate — Android Neural Networks API, Core ML Delegate — Apple Core ML. XNNPACK Delegate optimaliseert de uitvoering op ARM CPU. Elke delegate ondersteunt een specifieke set operatoren.

Het vierde component — Task Library, die hoogwaardige API's biedt voor typische taken: beeldclassificatie, objectdetectie, segmentatie, NLU. Task Library werkt bovenop de Interpreter en verbergt de details van tensorbeheer.

Modeloptimalisatie en kwantisering

TFLite ondersteunt drie niveaus van kwantisering. Volledige integer-kwantisering INT8 converteert gewichten en activaties van FP32 naar 8-bit integers. De modelgrootte wordt 4 keer kleiner en de inferentiesnelheid op apparaten met INT8-ondersteuning neemt tot 3x toe. FP16-kwantisering halveert de grootte met minimaal precisieverlies.

Dynamische kwantisering behoudt gewichten in INT8, maar voert berekeningen uit in FP32. Deze modus is geschikt voor precisiegevoelige modellen en geeft een groottereductie tot 4x met behoud van kwaliteit. Volgens Google ML Performance Benchmarks wordt dynamische kwantisering aanbevolen voor NLP-modellen.

Vergelijking van TFLite-kwantseringsmodi

ModusGewichtstypeActivaties typeGroottereductie
FP32 (zonder kwantisering)FP32FP321x
FP16FP16FP322x
Dynamisch INT8INT8FP324x
Volledig INT8INT8INT84x

Hardwareversnelling op Android en iOS

Op Android is het belangrijkste versnellingsmechanisme NNAPI Delegate, dat de uitvoering van operaties naar NPU, DSP of GPU verplaatst via de Android Neural Networks API. NNAPI is beschikbaar op apparaten met Android 8.1+ en ondersteunt INT8- en FP16-berekeningen. GPU Delegate voor Android gebruikt OpenGL ES 3.1+ en Vulkan.

Op iOS wordt versnelling verzorgd door Core ML Delegate, die TFLite-operaties vertaalt naar Core ML-formaat en ze uitvoert op de Apple Neural Engine. Volgens Apple ML Benchmarking versnelt het gebruik van Core ML Delegate de inferentie op iPhone 15 Pro tot 4x vergeleken met CPU. GPU Delegate voor iOS gebruikt Metal Performance Shaders.

XNNPACK Delegate — is een cross-platform oplossing voor ARM CPU, geoptimaliseerd voor mobiele processors. XNNPACK ondersteunt FP32-, FP16- en INT8-operaties en vereist geen speciale hardware. Het wordt aanbevolen als basisdelegate voor alle apparaten.

Modelimplementatie met TFLite

Het implementatieproces omvat drie stappen. Eerste — conversie van het model naar .tflite via TFLite Converter. Tweede — het .tflite-bestand opnemen in de applicatiebronnen. Voor Android wordt het bestand in assets geplaatst, voor iOS — in de applicatiebundle via Xcode. Derde — initialisatie van de Interpreter en uitvoeren van inferentie.

Voor dynamische updates van modellen beveelt Google Firebase ML Model Downloading aan of een eigen downloadmechanisme uit de cloud. Het bijgewerkte .tflite-bestand wordt opgeslagen in lokale opslag en geladen in de Interpreter bij de volgende start.

Bij implementatie is het belangrijk rekening te houden met de grootte van het .tflite-bestand. Google Play beperkt de APK-grootte tot 200 MB. Voor modellen groter dan 50 MB wordt aanbevolen Android App Bundle te gebruiken of het model apart te downloaden via Play Asset Delivery.

Voorbeelden van TFLite-gebruik in code

Voorbeeld van het laden en uitvoeren van een model op Android met Java API. Gebruik Interpreter.create() om .tflite uit assets te laden en run() voor inferentie. Invoer- en uitvoergegevens worden doorgegeven als multidimensionale arrays of ByteBuffer:

java
import org.tensorflow.lite.Interpreter;
import java.nio.MappedByteBuffer;
import java.io.FileInputStream;
import java.nio.channels.FileChannel;

MappedByteBuffer model = new FileInputStream(
    getAssets().openFd("model.tflite")
).getChannel().map(
    FileChannel.MapMode.READ_ONLY, 0, fc.size()
);

Interpreter interpreter = new Interpreter.create(model);
float[][] input = new float[1][224 * 224 * 3];
float[][] output = new float[1][1000];
interpreter.run(input, output);
interpreter.close();

Voorbeeld van het gebruik van GPU Delegate op Android voor hardwareversnelling. Voeg de afhankelijkheid com.android.support:tensorflow-lite-gpu toe en specificeer de delegate bij het maken van de Interpreter:

java
import org.tensorflow.lite.Interpreter;
import org.tensorflow.lite.gpu.GpuDelegate;

GpuDelegate gpuDelegate = new GpuDelegate.create();
Interpreter.Options options = new Interpreter.Options().addDelegate(gpuDelegate);
Interpreter interpreter = new Interpreter.create(model, options);

// Voer inferentie uit op de invoergegevens
interpreter.run(input, output);

// Geef delegate-bronnen vrij na inferentie
gpuDelegate.close();
interpreter.close();

Veelgestelde vragen

Wat is het verschil tussen TensorFlow en TensorFlow Lite?

TensorFlow — volledig framework voor training en inferentie. TensorFlow Lite — alleen voor inferentie op mobiele apparaten. TFLite gebruikt het .tflite-formaat en ondersteunt geen terugpropagatie.

Welke versnellingsdelegates zijn beschikbaar in TFLite?

GPU Delegate (OpenGL/Metal), NNAPI Delegate (Android), Core ML Delegate (iOS) en XNNPACK Delegate (ARM CPU) worden ondersteund. Elke delegate is geoptimaliseerd voor een specifiek type hardware.

Hoe verklein ik de grootte van een .tflite-model?

Gebruik kwantisering: FP16 verkleint de grootte 2x, INT8 — 4x. Ook beschikbaar zijn dynamische kwantisering, gewichtssnoei (weight pruning) en modeldistillatie vóór conversie.

Ondersteunt TFLite training op het apparaat?

Ja, via TFLite Model Maker en on-device training API (experimenteel). Fijnafstemming (fine-tuning) en personalisatie van modellen direct op het apparaat van de gebruiker worden ondersteund.

Welke modeltypen ondersteunt TFLite?

TFLite ondersteunt CNN, RNN, LSTM, Transformer, mobiele architecturen (MobileNet, EfficientNet, YOLO, BERT) en aangepaste operaties. Beperking — beschikbare operatoren in de doel-delegate.

Samenvatting

  • TensorFlow Lite — lichtgewicht framework voor on-device ML op mobiele en ingebedde apparaten van Google.
  • Modellen worden geconverteerd naar .tflite-formaat via TFLite Converter uit TensorFlow SavedModel of Keras.
  • INT8- en FP16-kwantisering verkleint de modelgrootte tot 4x en versnelt inferentie tot 3x.
  • Hardwareversnelling beschikbaar via GPU-, NNAPI-, Core ML- en XNNPACK-delegates.
  • De runtime neemt ongeveer 300 KB in beslag op Android en werkt op meer dan 4 miljard apparaten.
  • Task Library biedt kant-en-klare oplossingen voor classificatie, detectie, segmentatie en NLU.
  • Gebruik Firebase ML of Play Asset Delivery voor dynamische updates.

We ontwikkelen een mobiele applicatie turnkey

IT Sectr creëert sinds 2017 iOS- en Android-applicaties voor startups en bedrijven. We adviseren u en stellen de beste oplossing voor.

Bespreek het project

Lees ook