TensorFlow Lite — bu nima, asosiy imkoniyatlari va qo'llanilishi

Muallif: IT Sectr Nashr etilgan: 2026-07-17 O'qish vaqti: 6 daq

TensorFlow Lite — bu Google tomonidan cheklangan hisoblash resurslariga ega mobil va o'rnatilgan qurilmalarda mashina o'rganish modellarini bajarish uchun ishlab chiqilgan TensorFlow framework-ining yengil versiyasidir. To'liq TensorFlow-dan farqli o'laroq, TFLite o'qitishni qo'llab-quvvatlamasdan tez inferens uchun optimallashtirilgan maxsus interpretator va .tflite formatidan foydalanadi. TensorFlow Lite Guide, 2025 ma'lumotlariga ko'ra, framework Android, iOS va Linux-da ishlaydi va 4 milliarddan ortiq qurilmalarda qo'llaniladi. TensorFlow Lite kvantlash, NNAPI, GPU va Core ML delegatlari orqali apparat tezlashtirishni qo'llab-quvvatlaydi.

Asosiy ma'lumotlar

  • TensorFlow Lite — mobil va o'rnatilgan qurilmalarda on-device ML uchun yengil framework.
  • Modellar TFLite konvertori orqali TensorFlow SavedModel yoki Keras-dan .tflite formatiga o'tkaziladi.
  • Hajmni kamaytirish uchun INT8, FP16 kvantlash va dinamik kvantlash qo'llab-quvvatlanadi.
  • Apparat tezlashtirish GPU Delegate, NNAPI va Core ML Delegate orqali mavjud.
  • TFLite Android, iOS va Linux-da Java, C++, Swift va Python API bilan ishlaydi.

TensorFlow Lite nima

TensorFlow Lite — cheklangan resursli qurilmalarda mashina o'rganish modellarini bajarish uchun ixtisoslashtirilgan ishga tushirish muhitidir. To'liq TensorFlow-dan farqli o'laroq, TFLite o'qitish va orqaga tarqalishni — faqat inferensni qo'llab-quvvatlamaydi. Bu kutubxonaning ikkilik hajmini minimal qilish imkonini beradi: Android-da asosiy interpretator uchun taxminan 300 KB.

TFLite arxitekturasi FlatBuffers-ga asoslangan .tflite formati atrofida qurilgan. FlatBuffers cheklangan xotiraga ega mobil qurilmalar uchun muhim bo'lgan, tahlil qilish bosqichisiz ma'lumotlarga to'g'ridan-to'g'ri kirishni ta'minlaydi. .tflite formatidagi model hisoblash grafi, og'irliklar va metama'lumotlarni yagona ikkilik faylda o'z ichiga oladi.

Google I/O 2024 ma'lumotlariga ko'ra, TFLite Google Photos, Gboard, YouTube va boshqa Google ilovalarida jami 4 milliarddan ortiq qurilmalarda qo'llaniladi. Framework barcha asosiy arxitekturalarni qo'llab-quvvatlaydi: CNN, RNN, LSTM, Transformer va delegatlar orqali maxsus operatsiyalar.

TensorFlow Lite arxitekturasi

TFLite ishga tushirish muhiti to'rt komponentdan iborat. TFLite Converter TensorFlow-dan (SavedModel, Keras, ConcreteFunction) modelni qabul qiladi va uni ixtiyoriy optimallashtirish bilan .tflite formatiga o'zgartiradi. TFLite Interpreter .tflite-ni yuklaydi va tensorlar va xotirani boshqarib, inferensni bajaradi.

Delegatlar — operatsiyalarning bajarilishini ixtisoslashtirilgan uskunalarga o'tkazadigan komponentlardir. GPU Delegate OpenGL ES va Metal, NNAPI Delegate — Android Neural Networks API, Core ML Delegate — Apple Core ML dan foydalanadi. XNNPACK Delegate ARM CPU-da bajarishni optimallashtiradi. Har bir delegat ma'lum operatorlar to'plamini qo'llab-quvvatlaydi.

To'rtinchi komponent — Task Library, odatiy vazifalar uchun yuqori darajali API-larni taqdim etadi: tasvir tasnifi, ob'ektlarni aniqlash, segmentatsiya, NLU. Task Library Interpreter ustida ishlaydi va tensorlarni boshqarish tafsilotlarini yashiradi.

Modellarni optimallashtirish va kvantlash

TFLite uch darajadagi kvantlashni qo'llab-quvvatlaydi. To'liq butun sonli INT8 kvantlash og'irliklar va aktivatsiyalarni FP32 dan 8-bitli butun sonlarga o'zgartiradi. Model hajmi 4 marta kamayadi, INT8 ni qo'llab-quvvatlovchi qurilmalarda inferens tezligi 3x gacha oshadi. FP16 kvantlash minimal aniqlik yo'qotilishi bilan hajmni ikki baravar kamaytiradi.

Dinamik kvantlash og'irliklarni INT8 da saqlaydi, lekin hisoblashlarni FP32 da bajaradi. Bu rejim aniqlikka sezgir modellar uchun mos keladi va sifatni saqlab, hajmni 4x gacha kamaytirishni ta'minlaydi. Google ML Performance Benchmarks ma'lumotlariga ko'ra, dinamik kvantlash NLP modellari uchun tavsiya etiladi.

TFLite kvantlash rejimlarini taqqoslash

RejimOg'irlik turiAktivatsiya turiHajm kamayishi
FP32 (kvantlashsiz)FP32FP321x
FP16FP16FP322x
Dinamik INT8INT8FP324x
To'liq INT8INT8INT84x

Android va iOS-da apparat tezlashtirish

Android-da asosiy tezlashtirish mexanizmi NNAPI Delegate bo'lib, u operatsiyalarning bajarilishini Android Neural Networks API orqali NPU, DSP yoki GPU-ga o'tkazadi. NNAPI Android 8.1+ bo'lgan qurilmalarda mavjud va INT8 va FP16 hisoblashlarni qo'llab-quvvatlaydi. Android uchun GPU Delegate OpenGL ES 3.1+ va Vulkan-dan foydalanadi.

iOS-da tezlashtirish Core ML Delegate orqali ta'minlanadi, u TFLite operatsiyalarini Core ML formatiga tarjima qiladi va ularni Apple Neural Engine-da bajaradi. Apple ML Benchmarking ma'lumotlariga ko'ra, Core ML Delegate-dan foydalanish iPhone 15 Pro da inferensni CPU bilan solishtirganda 4x gacha tezlashtiradi. iOS uchun GPU Delegate Metal Performance Shaders-dan foydalanadi.

XNNPACK Delegate — mobil protsessorlar uchun optimallashtirilgan ARM CPU uchun platformalararo yechimdir. XNNPACK FP32, FP16 va INT8 operatsiyalarini qo'llab-quvvatlaydi va maxsus uskuna talab qilmaydi. Barcha qurilmalar uchun asosiy delegat sifatida tavsiya etiladi.

TFLite bilan modelni joylashtirish

Joylashtirish jarayoni uch qadamni o'z ichiga oladi. Birinchi — modelni TFLite Converter orqali .tflite ga o'tkazish. Ikkinchi — .tflite faylini ilova resurslariga qo'shish. Android uchun fayl assets-ga, iOS uchun Xcode orqali ilova bundle-iga joylashtiriladi. Uchinchi — Interpreter-ni ishga tushirish va inferensni bajarish.

Modellarni dinamik yangilash uchun Google Firebase ML Model Downloading yoki bulutdan yuklab olishning o'z mexanizmidan foydalanishni tavsiya qiladi. Yangilangan .tflite fayli mahalliy xotirada saqlanadi va keyingi ishga tushirishda Interpreter-ga yuklanadi.

Joylashtirishda .tflite faylining hajmini hisobga olish muhimdir. Google Play APK hajmini 200 MB bilan cheklaydi. 50 MB dan katta modellar uchun Android App Bundle dan foydalanish yoki modelni Play Asset Delivery orqali alohida yuklab olish tavsiya etiladi.

TFLite-dan kodda foydalanish misollari

Android-da Java API bilan modelni yuklash va bajarish misoli. .tflite-ni assets-dan yuklash uchun Interpreter.create() va inferens uchun run() dan foydalaning. Kirish va chiqish ma'lumotlari ko'p o'lchovli massivlar yoki ByteBuffer sifatida uzatiladi:

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 tezlashtirish uchun Android-da GPU Delegate dan foydalanish misoli. com.android.support:tensorflow-lite-gpu bog'liqligini qo'shing va Interpreter yaratishda delegatni ko'rsating:

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

// Kirish ma'lumotlari bo'yicha inferensni bajarish
interpreter.run(input, output);

// Inferensdan so'ng delegat resurslarini bo'shatish
gpuDelegate.close();
interpreter.close();

Tez-tez so'raladigan savollar

TensorFlow va TensorFlow Lite o'rtasidagi farq nima?

TensorFlow — o'qitish va inferens uchun to'liq framework. TensorFlow Lite — faqat mobil qurilmalarda inferens uchun. TFLite .tflite formatidan foydalanadi va orqaga tarqalishni qo'llab-quvvatlamaydi.

TFLite-da qanday tezlashtirish delegatlari mavjud?

GPU Delegate (OpenGL/Metal), NNAPI Delegate (Android), Core ML Delegate (iOS) va XNNPACK Delegate (ARM CPU) qo'llab-quvvatlanadi. Har bir delegat ma'lum bir uskuna turi uchun optimallashtirilgan.

.tflite modelining hajmini qanday kamaytirish mumkin?

Kvantlashdan foydalaning: FP16 hajmni 2x, INT8 — 4x kamaytiradi. Shuningdek, dinamik kvantlash, og'irliklarni kesish (weight pruning) va konvertatsiyadan oldin model distillash mavjud.

TFLite qurilmada o'qitishni qo'llab-quvvatlaydimi?

Ha, TFLite Model Maker va qurilmada o'qitish API orqali (eksperimental). Nozik sozlash (fine-tuning) va modellarni to'g'ridan-to'g'ri foydalanuvchi qurilmasida shaxsiylashtirish qo'llab-quvvatlanadi.

TFLite qanday model turlarini qo'llab-quvvatlaydi?

TFLite CNN, RNN, LSTM, Transformer, mobil arxitekturalarni (MobileNet, EfficientNet, YOLO, BERT) va maxsus operatsiyalarni qo'llab-quvvatlaydi. Cheklov — maqsadli delegatda mavjud operatorlar.

Xulosa

  • TensorFlow Lite — Google-dan mobil va o'rnatilgan qurilmalarda on-device ML uchun yengil framework.
  • Modellar TFLite Converter orqali TensorFlow SavedModel yoki Keras-dan .tflite formatiga o'tkaziladi.
  • INT8 va FP16 kvantlash model hajmini 4x gacha kamaytiradi va inferensni 3x gacha tezlashtiradi.
  • Apparat tezlashtirish GPU, NNAPI, Core ML va XNNPACK delegatlari orqali mavjud.
  • Ishga tushirish muhiti Android-da taxminan 300 KB egallaydi va 4 milliarddan ortiq qurilmalarda ishlaydi.
  • Task Library tasniflash, aniqlash, segmentatsiya va NLU uchun tayyor yechimlar taqdim etadi.
  • Dinamik yangilash uchun Firebase ML yoki Play Asset Delivery dan foydalaning.

Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz

IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.

Loyihani muhokama qilish

Shuningdek o'qing