TensorFlow Lite — bu nədir, əsas imkanları və tətbiqi

Müəllif: IT Sectr Dərc olunub: 2026-07-17 Oxuma vaxtı: 6 dəq

TensorFlow Lite — Google tərəfindən məhdud hesablama resursları olan mobil və quraşdırılmış cihazlarda maşın öyrənmə modellərini işlətmək üçün hazırlanmış TensorFlow framework-ünün yüngülləşdirilmiş versiyasıdır. Tam TensorFlow-dan fərqli olaraq, TFLite öyrənmə dəstəyi olmadan sürətli inferens üçün optimallaşdırılmış xüsusi interpretator və .tflite formatından istifadə edir. TensorFlow Lite Guide, 2025-ə görə, framework Android, iOS və Linux-da işləyir və 4 milyarddan çox cihazda istifadə olunur. TensorFlow Lite kvantlaşdırma, NNAPI, GPU və Core ML deleqatları vasitəsilə aparat sürətləndirməsini dəstəkləyir.

Əsas məqamlar

  • TensorFlow Lite — mobil və quraşdırılmış cihazlarda on-device ML üçün yüngül framework.
  • Modellər TFLite konvertoru vasitəsilə TensorFlow SavedModel və ya Keras-dan .tflite formatına çevrilir.
  • Ölçünü azaltmaq üçün INT8, FP16 kvantlaşdırması və dinamik kvantlaşdırma dəstəklənir.
  • Apparat sürətləndirməsi GPU Delegate, NNAPI və Core ML Delegate vasitəsilə mümkündür.
  • TFLite Android, iOS və Linux-da Java, C++, Swift və Python API ilə işləyir.

TensorFlow Lite nədir

TensorFlow Lite — məhdud resurslu cihazlarda maşın öyrənmə modellərini işlətmək üçün xüsusi işləmə mühitidir. Tam TensorFlow-dan fərqli olaraq, TFLite öyrənmə və geri yayılmanı — yalnız inferensi dəstəkləmir. Bu, kitabxananın ikili ölçüsünü minimal etməyə imkan verir: Android-də əsas interpretator üçün təxminən 300 KB.

TFLite arxitekturası FlatBuffers-ə əsaslanan .tflite formatı üzərində qurulub. FlatBuffers, məhdud yaddaşı olan mobil cihazlar üçün kritik olan, pars etmə mərhələsi olmadan məlumatlara birbaşa çıxışı təmin edir. .tflite formatında olan model hesablama qrafiki, çəkilər və metadata vahid ikili faylda saxlayır.

Google I/O 2024-ə görə, TFLite Google Photos, Gboard, YouTube və digər Google tətbiqlərində ümumilikdə 4 milyarddan çox cihazda istifadə olunur. Framework bütün əsas arxitekturaları dəstəkləyir: CNN, RNN, LSTM, Transformer və deleqatlar vasitəsilə xüsusi əməliyyatlar.

TensorFlow Lite arxitekturası

TFLite işləmə mühiti dörd komponentdən ibarətdir. TFLite Converter TensorFlow-dan (SavedModel, Keras, ConcreteFunction) modeli qəbul edir və onu seçimli optimallaşdırma ilə .tflite formatına çevirir. TFLite Interpreter .tflite yükləyir və tensorlar və yaddaşı idarə edərək inferensi icra edir.

Deleqatlar — əməliyyatların icrasını xüsusi avadanlığa ötürən komponentlərdir. GPU Delegate OpenGL ES və Metal, NNAPI Delegate Android Neural Networks API, Core ML Delegate Apple Core ML istifadə edir. XNNPACK Delegate ARM CPU-da icranı optimallaşdırır. Hər bir deleqat müəyyən operatorlar dəstini dəstəkləyir.

Dördüncü komponent — Task Library, tipik tapşırıqlar üçün yüksək səviyyəli API təmin edir: şəkil təsnifatı, obyekt aşkarlanması, seqmentasiya, NLU. Task Library Interpreter üzərində işləyir və tensorların idarə edilməsi təfərrüatlarını gizlədir.

Modellərin optimallaşdırılması və kvantlaşdırma

TFLite üç kvantlaşdırma səviyyəsini dəstəkləyir. Tam ədəd kvantlaşdırması INT8 çəkiləri və aktivasiyaları FP32-dən 8-bitlik tam ədədlərə çevirir. Modelin ölçüsü 4 dəfə azalır, INT8 dəstəyi olan cihazlarda inferens sürəti 3x-ə qədər artır. FP16 kvantlaşdırması minimal dəqiqlik itkisi ilə ölçünü yarıya endirir.

Dinamik kvantlaşdırma çəkiləri INT8-də saxlayır, lakin hesablamaları FP32-də icra edir. Bu rejim dəqiqliyə həssas modellər üçün uyğundur və keyfiyyəti qoruyaraq ölçüdə 4x-ə qədər azalma verir. Google ML Performance Benchmarks-ə görə, dinamik kvantlaşdırma NLP modelləri üçün tövsiyə olunur.

TFLite kvantlaşdırma rejimlərinin müqayisəsi

RejimÇəki növüAktivasiya növüÖlçü azalması
FP32 (kvantlaşdırmasız)FP32FP321x
FP16FP16FP322x
Dinamik INT8INT8FP324x
Tam INT8INT8INT84x

Android və iOS-da aparat sürətləndirməsi

Android-də əsas sürətləndirmə mexanizmi NNAPI Delegate-dir, o, əməliyyatların icrasını Android Neural Networks API vasitəsilə NPU, DSP və ya GPU-ya ötürür. NNAPI Android 8.1+ olan cihazlarda mövcuddur və INT8 və FP16 hesablamalarını dəstəkləyir. Android üçün GPU Delegate OpenGL ES 3.1+ və Vulkan istifadə edir.

iOS-da sürətləndirmə Core ML Delegate vasitəsilə təmin edilir, o, TFLite əməliyyatlarını Core ML formatına tərcümə edir və onları Apple Neural Engine-də icra edir. Apple ML Benchmarking-ə görə, Core ML Delegate istifadəsi iPhone 15 Pro-da inferensi CPU ilə müqayisədə 4x-ə qədər sürətləndirir. iOS üçün GPU Delegate Metal Performance Shaders istifadə edir.

XNNPACK Delegate — mobil prosessorlar üçün optimallaşdırılmış ARM CPU üçün platformalararası həlldir. XNNPACK FP32, FP16 və INT8 əməliyyatlarını dəstəkləyir və xüsusi avadanlıq tələb etmir. Bütün cihazlar üçün əsas deleqat kimi tövsiyə olunur.

TFLite ilə modelin yerləşdirilməsi

Yerləşdirmə prosesi üç addımı əhatə edir. Birinci — modelin TFLite Converter vasitəsilə .tflite-ə çevrilməsi. İkinci — .tflite faylının tətbiq resurslarına daxil edilməsi. Android üçün fayl assets qovluğuna, iOS üçün Xcode vasitəsilə tətbiq bundle-ına yerləşdirilir. Üçüncü — Interpreter-in işə salınması və inferensin icrası.

Modellərin dinamik yenilənməsi üçün Google Firebase ML Model Downloading və ya buluddan yükləmə üçün öz mexanizmindən istifadə etməyi tövsiyə edir. Yenilənmiş .tflite faylı yerli yaddaşa saxlanılır və növbəti işə salmada Interpreter-ə yüklənir.

Yerləşdirmə zamanı .tflite faylının ölçüsünü nəzərə almaq vacibdir. Google Play APK ölçüsünü 200 MB ilə məhdudlaşdırır. 50 MB-dan böyük modellər üçün Android App Bundle istifadə etmək və ya modeli Play Asset Delivery vasitəsilə ayrıca yükləmək tövsiyə olunur.

TFLite-dən kodda istifadə nümunələri

Android-də Java API ilə modelin yüklənməsi və icrası nümunəsi. .tflite-ni assets-dən yükləmək üçün Interpreter.create() və inferens üçün run() istifadə edin. Giriş və çıxış məlumatları çoxölçülü massivlər və ya ByteBuffer kimi ötürülür:

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

Apparat sürətləndirməsi üçün Android-də GPU Delegate istifadə nümunəsi. com.android.support:tensorflow-lite-gpu asılılığını əlavə edin və Interpreter yaratdıqda deleqatı göstərin:

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

// Giriş məlumatları üzrə inferens işlət
interpreter.run(input, output);

// İnferensdən sonra deleqat resurslarını burax
gpuDelegate.close();
interpreter.close();

Tez-tez verilən suallar

TensorFlow və TensorFlow Lite arasında fərq nədir?

TensorFlow — öyrənmə və inferens üçün tam framework. TensorFlow Lite — yalnız mobil cihazlarda inferens üçün. TFLite .tflite formatından istifadə edir və geri yayılmanı dəstəkləmir.

TFLite-də hansı sürətləndirmə deleqatları mövcuddur?

GPU Delegate (OpenGL/Metal), NNAPI Delegate (Android), Core ML Delegate (iOS) və XNNPACK Delegate (ARM CPU) dəstəklənir. Hər bir deleqat müəyyən avadanlıq növü üçün optimallaşdırılıb.

.tflite modelinin ölçüsünü necə azaltmaq olar?

Kvantlaşdırmadan istifadə edin: FP16 ölçünü 2x, INT8 — 4x azaldır. Həmçinin dinamik kvantlaşdırma, çəki budama (weight pruning) və konvertasiyadan əvvəl model distilləsi mövcuddur.

TFLite cihazda öyrənməni dəstəkləyir?

Bəli, TFLite Model Makercihazda öyrənmə API vasitəsilə (eksperimental). İncə tənzimləmə (fine-tuning) və modellərin birbaşa istifadəçi cihazında fərdiləşdirilməsi dəstəklənir.

TFLite hansı model növlərini dəstəkləyir?

TFLite CNN, RNN, LSTM, Transformer, mobil arxitekturaları (MobileNet, EfficientNet, YOLO, BERT) və xüsusi əməliyyatları dəstəkləyir. Məhdudiyyət — hədəf deleqatda mövcud operatorlardır.

Nəticə

  • TensorFlow Lite — Google-dan mobil və quraşdırılmış cihazlarda on-device ML üçün yüngül framework.
  • Modellər TFLite Converter vasitəsilə TensorFlow SavedModel və ya Keras-dan .tflite formatına çevrilir.
  • INT8 və FP16 kvantlaşdırması modelin ölçüsünü 4x-ə qədər azaldır və inferensi 3x-ə qədər sürətləndirir.
  • Apparat sürətləndirməsi GPU, NNAPI, Core ML və XNNPACK deleqatları vasitəsilə mümkündür.
  • İşləmə mühiti Android-də təxminən 300 KB yer tutur və 4 milyarddan çox cihazda işləyir.
  • Task Library təsnifat, aşkarlama, seqmentasiya və NLU üçün hazır həllər təqdim edir.
  • Dinamik yeniləmə üçün Firebase ML və ya Play Asset Delivery istifadə edin.

Açar təslim mobil tətbiq hazırlayacağıq

IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.

Layihəni müzakirə et

Həm də oxuyun