TensorFlow Lite — co to je, klíčové možnosti a použití

Autor: IT Sectr Publikováno: 2026-07-17 Doba čtení: 6 min

TensorFlow Lite — je odlehčená verze frameworku TensorFlow vyvinutá společností Google pro provádění modelů strojového učení na mobilních a vestavěných zařízeních s omezenými výpočetními prostředky. Na rozdíl od plného TensorFlow používá TFLite specializovaný interpret a formát .tflite optimalizovaný pro rychlou inferenci bez podpory učení. Podle TensorFlow Lite Guide, 2025 framework funguje na Android, iOS a Linux a je používán na více než 4 miliardách zařízení. TensorFlow Lite podporuje kvantizaci, hardwarovou akceleraci přes NNAPI, GPU a delegáty Core ML.

Hlavní body

  • TensorFlow Lite — odlehčený framework pro on-device ML na mobilních a vestavěných zařízeních.
  • Modely se převádějí do formátu .tflite přes konvertor TFLite z TensorFlow SavedModel nebo Keras.
  • Podporuje kvantizaci INT8, FP16 a dynamickou kvantizaci pro zmenšení velikosti.
  • Hardwarová akcelerace je dostupná přes GPU Delegate, NNAPI a Core ML Delegate.
  • TFLite funguje na Android, iOS a Linux s API v Java, C++, Swift a Python.

Co je TensorFlow Lite

TensorFlow Lite — je specializované běhové prostředí pro provádění modelů strojového učení na zařízeních s omezenými prostředky. Na rozdíl od plného TensorFlow TFLite nepodporuje učení a zpětnou propagaci — pouze inferenci. To umožňuje minimalizovat binární velikost knihovny: přibližně 300 KB pro základní interpret na Android.

Architektura TFLite je postavena kolem formátu .tflite, založeného na FlatBuffers. FlatBuffers poskytuje přímý přístup k datům bez fáze parsování, což je kritické pro mobilní zařízení s omezenou pamětí. Model ve formátu .tflite obsahuje výpočetní graf, váhy a metadata v jediném binárním souboru.

Podle Google I/O 2024 je TFLite používán v Google Photos, Gboard, YouTube a dalších aplikacích Google s celkovým publikem více než 4 miliard zařízení. Framework podporuje všechny hlavní architektury: CNN, RNN, LSTM, Transformer a vlastní operace prostřednictvím delegátů.

Architektura TensorFlow Lite

Běhové prostředí TFLite se skládá ze čtyř komponent. TFLite Converter přijímá model z TensorFlow (SavedModel, Keras, ConcreteFunction) a převádí jej do formátu .tflite s volitelnou optimalizací. TFLite Interpreter načítá .tflite a provádí inferenci, přičemž spravuje tenzory a paměť.

Delegáti — jsou komponenty, které přenášejí provádění operací na specializovaný hardware. GPU Delegate používá OpenGL ES a Metal, NNAPI Delegate — Android Neural Networks API, Core ML Delegate — Apple Core ML. XNNPACK Delegate optimalizuje provádění na ARM CPU. Každý delegát podporuje specifickou sadu operátorů.

Čtvrtou komponentou je Task Library, která poskytuje vysokourovňová API pro typické úlohy: klasifikaci obrázků, detekci objektů, segmentaci, NLU. Task Library pracuje nad Interpreterem a skrývá detaily správy tenzorů.

Optimalizace modelů a kvantizace

TFLite podporuje tři úrovně kvantizace. Plná celočíselná kvantizace INT8 převádí váhy a aktivace z FP32 na 8bitová celá čísla. Velikost modelu se zmenšuje 4krát a rychlost inference na zařízeních s podporou INT8 se zvyšuje až 3x. Kvantizace FP16 zmenšuje velikost na polovinu s minimální ztrátou přesnosti.

Dynamická kvantizace uchovává váhy v INT8, ale provádí výpočty ve FP32. Tento režim je vhodný pro modely citlivé na přesnost a poskytuje zmenšení velikosti až 4x při zachování kvality. Podle Google ML Performance Benchmarks je dynamická kvantizace doporučena pro NLP modely.

Srovnání režimů kvantizace TFLite

RežimTyp vahTyp aktivacíZmenšení velikosti
FP32 (bez kvantizace)FP32FP321x
FP16FP16FP322x
Dynamický INT8INT8FP324x
Plný INT8INT8INT84x

Hardwarová akcelerace na Android a iOS

Na Android je hlavním mechanismem akcelerace NNAPI Delegate, který přenáší provádění operací na NPU, DSP nebo GPU přes Android Neural Networks API. NNAPI je dostupný na zařízeních s Android 8.1+ a podporuje výpočty INT8 a FP16. GPU Delegate pro Android používá OpenGL ES 3.1+ a Vulkan.

Na iOS je akcelerace zajištěna prostřednictvím Core ML Delegate, který překládá operace TFLite do formátu Core ML a provádí je na Apple Neural Engine. Podle Apple ML Benchmarking použití Core ML Delegate urychluje inferenci na iPhone 15 Pro až 4x ve srovnání s CPU. GPU Delegate pro iOS používá Metal Performance Shaders.

XNNPACK Delegate — je cross-platform řešení pro ARM CPU optimalizované pro mobilní procesory. XNNPACK podporuje operace FP32, FP16 a INT8 a nevyžaduje specializovaný hardware. Je doporučen jako výchozí delegát pro všechna zařízení.

Nasazení modelu s TFLite

Proces nasazení zahrnuje tři kroky. První — konverze modelu do .tflite přes TFLite Converter. Druhý — zahrnutí .tflite souboru do zdrojů aplikace. Pro Android je soubor umístěn do assets, pro iOS — do bundle aplikace přes Xcode. Třetí — inicializace Interpreteru a provedení inference.

Pro dynamickou aktualizaci modelů Google doporučuje používat Firebase ML Model Downloading nebo vlastní mechanismus stahování z cloudu. Aktualizovaný .tflite soubor je uložen v lokálním úložišti a načten do Interpreteru při příštím spuštění.

Při nasazení je důležité zohlednit velikost .tflite souboru. Google Play omezuje velikost APK na 200 MB. Pro modely větší než 50 MB se doporučuje použít Android App Bundle nebo stáhnout model samostatně přes Play Asset Delivery.

Příklady použití TFLite v kódu

Příklad načtení a provedení modelu na Android s Java API. Použijte Interpreter.create() pro načtení .tflite z assets a run() pro inferenci. Vstupní a výstupní data jsou předávána jako vícerozměrná pole nebo 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();

Příklad použití GPU Delegate na Android pro hardwarovou akceleraci. Přidejte závislost com.android.support:tensorflow-lite-gpu a určete delegáta při vytváření Interpreteru:

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);

// Spusťte inferenci na vstupních datech
interpreter.run(input, output);

// Uvolněte prostředky delegáta po inferenci
gpuDelegate.close();
interpreter.close();

Často kladené otázky

Jaký je rozdíl mezi TensorFlow a TensorFlow Lite?

TensorFlow — plný framework pro učení a inferenci. TensorFlow Lite — pouze pro inferenci na mobilních zařízeních. TFLite používá formát .tflite a nepodporuje zpětnou propagaci.

Jací delegáti akcelerace jsou v TFLite k dispozici?

Podporováni jsou GPU Delegate (OpenGL/Metal), NNAPI Delegate (Android), Core ML Delegate (iOS) a XNNPACK Delegate (ARM CPU). Každý delegát je optimalizován pro konkrétní typ hardwaru.

Jak zmenšit velikost .tflite modelu?

Použijte kvantizaci: FP16 zmenšuje velikost 2x, INT8 — 4x. K dispozici je také dynamická kvantizace, prořezávání vah (weight pruning) a destilace modelu před konverzí.

Podporuje TFLite učení na zařízení?

Ano, prostřednictvím TFLite Model Maker a API pro učení na zařízení (experimentální). Podporováno je dolaďování (fine-tuning) a personalizace modelů přímo na zařízení uživatele.

Jaké typy modelů TFLite podporuje?

TFLite podporuje CNN, RNN, LSTM, Transformer, mobilní architektury (MobileNet, EfficientNet, YOLO, BERT) a vlastní operace. Omezením jsou dostupné operátory v cílovém delegátovi.

Shrnutí

  • TensorFlow Lite — odlehčený framework pro on-device ML na mobilních a vestavěných zařízeních od Google.
  • Modely se převádějí do formátu .tflite přes TFLite Converter z TensorFlow SavedModel nebo Keras.
  • Kvantizace INT8 a FP16 zmenšuje velikost modelu až 4x a urychluje inferenci až 3x.
  • Hardwarová akcelerace je dostupná přes GPU, NNAPI, Core ML a XNNPACK delegáty.
  • Běhové prostředí zabírá přibližně 300 KB na Android a funguje na více než 4 miliardách zařízení.
  • Task Library poskytuje hotová řešení pro klasifikaci, detekci, segmentaci a NLU.
  • Pro dynamickou aktualizaci použijte Firebase ML nebo Play Asset Delivery.

Vyvineme mobilní aplikaci na klíč

IT Sectr vytváří aplikace pro iOS a Android pro startupy a podniky od roku 2017. Poradíme vám a navrhneme nejlepší řešení.

Prodiskutovat projekt

Přečtěte si také