TensorFlow Lite — шта је то, кључне могућности и примена

Аутор: IT Sectr Објављено: 2026-07-17 Време читања: 6 мин

TensorFlow Lite — је лагана верзија TensorFlow оквира, коју је развио Google за извршавање модела машинског учења на мобилним и уграђеним уређајима са ограниченим рачунарским ресурсима. За разлику од пуног TensorFlow-а, TFLite користи специјализовани интерпретатор и .tflite формат, оптимизован за брзо закључивање без подршке за учење. Према TensorFlow Lite Guide, 2025, оквир ради на Android, iOS и Linux и користи се на више од 4 милијарде уређаја. TensorFlow Lite подржава квантизацију, хардверско убрзање кроз NNAPI, GPU и Core ML делегате.

Главне тачке

  • TensorFlow Lite — лагани оквир за on-device ML на мобилним и уграђеним уређајима.
  • Модели се конвертују у .tflite формат кроз TFLite конвертер из TensorFlow SavedModel или Keras-а.
  • Подржава INT8, FP16 квантизацију и динамичку квантизацију за смањење величине.
  • Хардверско убрзање доступно кроз GPU Delegate, NNAPI и Core ML Delegate.
  • TFLite ради на Android, iOS и Linux са API-јем у Java, C++, Swift и Python-у.

Шта је TensorFlow Lite

TensorFlow Lite — је специјализовано извршно окружење за покретање модела машинског учења на уређајима са ограниченим ресурсима. За разлику од пуног TensorFlow-а, TFLite не подржава учење и повратно простирање грешке — само закључивање. Ово омогућава минималну величину библиотеке: око 300 KB за основни интерпретатор на Android-у.

Архитектура TFLite-а је изграђена око .tflite формата, заснованог на FlatBuffers-у. FlatBuffers обезбеђује директан приступ подацима без фазе парсирања, што је кључно за мобилне уређаје са ограниченом меморијом. Модел у .tflite формату садржи граф израчунавања, тежине и метаподатке у јединственој бинарној датотеци.

Према Google I/O 2024, TFLite се користи у Google Photos, Gboard, YouTube и другим Google апликацијама са укупном публиком од преко 4 милијарде уређаја. Оквир подржава све главне архитектуре: CNN, RNN, LSTM, Transformer и прилагођене операције кроз делегате.

Архитектура TensorFlow Lite-а

TFLite извршно окружење састоји се од четири компоненте. TFLite Converter прима модел из TensorFlow-а (SavedModel, Keras, ConcreteFunction) и претвара га у .tflite формат са опционом оптимизацијом. TFLite Interpreter учитава .tflite и извршава закључивање, управљајући тензорима и меморијом.

Делегати — су компоненте које преносе извршавање операција на специјализовани хардвер. GPU Delegate користи OpenGL ES и Metal, NNAPI Delegate — Android Neural Networks API, Core ML Delegate — Apple Core ML. XNNPACK Delegate оптимизује извршавање на ARM CPU-у. Сваки делегат подржава одређени скуп оператора.

Четврта компонента — Task Library, која пружа високоапстрактне API-је за типичне задатке: класификацију слика, детекцију објеката, сегментацију, NLU. Task Library ради изнад Interpreter-а и скрива детаље управљања тензорима.

Оптимизација модела и квантизација

TFLite подржава три нивоа квантизације. Потпуна целобројна квантизација INT8 претвара тежине и активације из FP32 у 8-битне целе бројеве. Величина модела се смањује 4 пута, а брзина закључивања на уређајима са подршком за INT8 расте до 3x. Квантизација FP16 смањује величину упола уз минималан губитак прецизности.

Динамичка квантизација чува тежине у INT8, али извршава прорачуне у FP32. Овај режим је погодан за моделе осетљиве на прецизност и даје смањење величине до 4x уз очување квалитета. Према Google ML Performance Benchmarks, динамичка квантизација се препоручује за NLP моделе.

Поређење режима квантизације TFLite-а

РежимТип тежинаТип активацијаСмањење величине
FP32 (без квантизације)FP32FP321x
FP16FP16FP322x
Динамички INT8INT8FP324x
Потпуни INT8INT8INT84x

Хардверско убрзање на Android и iOS

На Android-у главни механизам убрзања је NNAPI Delegate, који преноси извршавање операција на NPU, DSP или GPU кроз Android Neural Networks API. NNAPI је доступан на уређајима са Android 8.1+ и подржава INT8 и FP16 прорачуне. GPU Delegate за Android користи OpenGL ES 3.1+ и Vulkan.

На iOS-у убрзање се обезбеђује кроз Core ML Delegate, који преводи TFLite операције у Core ML формат и извршава их на Apple Neural Engine-у. Према Apple ML Benchmarking, коришћење Core ML Delegate-а убрзава закључивање на iPhone 15 Pro до 4x у поређењу са CPU-ом. GPU Delegate за iOS користи Metal Performance Shaders.

XNNPACK Delegate — је вишеплатформско решење за ARM CPU, оптимизовано за мобилне процесоре. XNNPACK подржава FP32, FP16 и INT8 операције и не захтева специјализовани хардвер. Препоручује се као базни делегат за све уређаје.

Примена модела са TFLite-ом

Процес примене укључује три корака. Први — конверзија модела у .tflite кроз TFLite Converter. Други — укључивање .tflite датотеке у ресурсе апликације. За Android датотека се поставља у assets, за iOS — у bundle апликације кроз Xcode. Трећи — иницијализација Interpreter-а и извршавање закључивања.

За динамичко ажурирање модела Google препоручује коришћење Firebase ML Model Downloading или сопственог механизма преузимања из облака. Ажурирана .tflite датотека се чува у локалном складишту и учитава у Interpreter при следећем покретању.

При примени важно је узети у обзир величину .tflite датотеке. Google Play ограничава величину APK-а на 200 MB. За моделе веће од 50 MB препоручује се коришћење Android App Bundle-а или преузимање модела одвојено кроз Play Asset Delivery.

Примери коришћења TFLite-а у коду

Пример учитавања и извршавања модела на Android-у са Java API-јем. Користите Interpreter.create() за учитавање .tflite из assets и run() за закључивање. Улазни и излазни подаци се преносе као вишедимензионални низови или 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();

Пример коришћења GPU Delegate-а на Android-у за хардверско убрзање. Додајте зависност com.android.support:tensorflow-lite-gpu и наведите делегат при креирању 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);

// Покрени закључивање на улазним подацима
interpreter.run(input, output);

// Ослободи ресурсе делегата након закључивања
gpuDelegate.close();
interpreter.close();

Често постављана питања

Која је разлика између TensorFlow-а и TensorFlow Lite-а?

TensorFlow — потпуни оквир за учење и закључивање. TensorFlow Lite — само за закључивање на мобилним уређајима. TFLite користи .tflite формат и не подржава повратно простирање грешке.

Који делегати убрзања су доступни у TFLite-у?

Подржани су GPU Delegate (OpenGL/Metal), NNAPI Delegate (Android), Core ML Delegate (iOS) и XNNPACK Delegate (ARM CPU). Сваки делегат је оптимизован за одређени тип хардвера.

Како смањити величину .tflite модела?

Користите квантизацију: FP16 смањује величину 2x, INT8 — 4x. Такође су доступне динамичка квантизација, обрезивање тежина (weight pruning) и дестилација модела пре конверзије.

Да ли TFLite подржава учење на уређају?

Да, кроз TFLite Model Maker и API за учење на уређају (експериментално). Подржано је фино подешавање (fine-tuning) и персонализација модела директно на уређају корисника.

Које типове модела подржава TFLite?

TFLite подржава CNN, RNN, LSTM, Transformer, мобилне архитектуре (MobileNet, EfficientNet, YOLO, BERT) и прилагођене операције. Ограничење — доступни оператори у циљном делегату.

Закључак

  • TensorFlow Lite — лагани оквир за on-device ML на мобилним и уграђеним уређајима од Google-а.
  • Модели се конвертују у .tflite формат кроз TFLite Converter из TensorFlow SavedModel или Keras-а.
  • INT8 и FP16 квантизација смањује величину модела до 4x и убрзава закључивање до 3x.
  • Хардверско убрзање доступно кроз GPU, NNAPI, Core ML и XNNPACK делегате.
  • Извршно окружење заузима око 300 KB на Android-у и ради на преко 4 милијарде уређаја.
  • Task Library пружа готова решења за класификацију, детекцију, сегментацију и NLU.
  • За динамичко ажурирање користите Firebase ML или Play Asset Delivery.

Развићемо мобилну апликацију под кључ

IT Sectr креира iOS и Android апликације за стартапе и предузећа од 2017. године. Саветоваћемо вас и предложити најбоље решење.

Разговарајте о пројекту

Прочитајте такође