TensorFlow Lite TensorFlow فریم ورک کا ایک ہلکا ورژن ہے، جو Google نے محدود کمپیوٹیشنل وسائل کے ساتھ موبائل اور ایمبیڈڈ آلات پر مشین لرننگ ماڈل چلانے کے لیے تیار کیا ہے۔ مکمل TensorFlow کے برعکس، TFLite ایک مخصوصی مفسر اور .tflite فارمیٹ استعمال کرتا ہے، جو تربیت کے بغیر تیز انفرنس کے لیے بہترین کیا گیا ہے۔ TensorFlow Lite Guide, 2025 کے مطابق، یہ فریم ورک Android، iOS اور Linux پر چلتا ہے اور 4 ارب سے زائد آلات پر استعمال ہوتا ہے۔ TensorFlow Lite کوانٹائیزیشن، NNAPI، GPU اور Core ML ڈیلی گیٹس کے ذریعے ہارڈویئر اکسیلریشن کی حمایت کرتا ہے۔
اہم نکات
TensorFlow Lite محدود وسائل والے آلات پر مشین لرننگ ماڈل چلانے کے لیے ایک مخصوصی رن ٹائم ہے۔ مکمل TensorFlow کے برعکس، TFLite تربیت یا بیک پروپیگیشن کی حمایت نہیں کرتا — صرف انفرنس۔ یہ لائبریری کے بائینری سائز کو کم سے کم رکھنے کی اجازت دیتا ہے: Android پر بیس مفسر کے لیے تقریبنً 300 KB۔
TFLite کا آرکیٹیکچر .tflite فارمیٹ کے ارد گرد بنایا گیا ہے، جو FlatBuffers پر مبنی ہے۔ FlatBuffers پارسنگ مرحلے کے بغیر ڈیٹا تک براہراست رسائی فراہم کرتا ہے، جو محدود میمری والے موبائل آلات کے لیے اہم ہے۔ .tflite فارمیٹ میں ماڈل میں حساب کا گراف، وزن اور میٹا ڈیٹا ایک واحد بائینری فائل میں ہوتا ہے۔
Google I/O 2024 کے مطابق، TFLite Google Photos، Gboard، YouTube اور دیگر Google ایپلیکیشنز میں 4 ارب سے زائد آلات کے مشترکہ صارفین کے ساتھ استعمال ہوتا ہے۔ یہ فریم ورک تمام اہم آرکیٹیکچرز کی حمایت کرتا ہے: CNN، RNN، LSTM، Transformer اور ڈیلی گیٹس کے ذریعے کسٹم آپریشنز۔
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 مفسر کے اوپر کام کرتی ہے اور ٹینسر منیجمنٹ کی تفصیلات چھپاتی ہے۔
TFLite کوانٹائیزیشن کی تین سطحوں کی حمایت کرتا ہے۔ مکمل عدد INT8 کوانٹائیزیشن وزن اور اکٹیویشن کو FP32 سے 8 بٹ عددوں میں تبدیل کرتا ہے۔ ماڈل کا حجم 4 گنا کم ہو جاتا ہے اور INT8 حمایت والے آلات پر انفرنس کی رفتار 3 گنا تک بڑھ جاتی ہے۔ FP16 کوانٹائیزیشن کم از کم درستی کے نقصان کے ساتھ حجم کو آدھا کر دیتا ہے۔
ڈائنامک کوانٹائیزیشن وزن کو INT8 میں رکھتا ہے لیکن حساب FP32 میں کرتا ہے۔ یہ موڈ درستی کے لیے حاس ماڈل کے لیے موزوں ہے اور کیفیت برقرار رکھتے ہوئے 4 گنا حجم کم کرتا ہے۔ Google ML Performance Benchmarks کے مطابق، NLP ماڈل کے لیے ڈائنامک کوانٹائیزیشن تجویز کی جاتی ہے۔
| موڈ | وزن کی قسم | اکٹیویشن کی قسم | حجم میں کمی |
|---|---|---|---|
| FP32 (کوانٹائیزیشن کے بغیر) | FP32 | FP32 | 1x |
| FP16 | FP16 | FP32 | 2x |
| ڈائنامک INT8 | INT8 | FP32 | 4x |
| مکمل INT8 | INT8 | INT8 | 4x |
Android پر، بنیادی اکسیلریشن میکانزم NNAPI Delegate ہے، جو Android Neural Networks API کے ذریعے آپریشن پر عمل کو NPU، DSP یا GPU پر منتقل کرتا ہے۔ NNAPI Android 8.1+ والے آلات پر دستیاب ہے اور INT8 اور FP16 حساب کی حمایت کرتا ہے۔ Android کے لیے GPU Delegate OpenGL ES 3.1+ اور Vulkan استعمال کرتا ہے۔
iOS پر، اکسیلریشن Core ML Delegate کے ذریعے فراہم کیا جاتا ہے، جو TFLite آپریشن کو Core ML فارمیٹ میں تبدیل کرتا ہے اور Apple Neural Engine پر عمل کرتا ہے۔ Apple ML Benchmarking کے مطابق، Core ML Delegate کا استعمال iPhone 15 Pro پر CPU کے مقابلے انفرنس کو 4 گنا تک تیز کرتا ہے۔ iOS کے لیے GPU Delegate Metal Performance Shaders استعمال کرتا ہے۔
XNNPACK Delegate ARM CPU کے لیے ایک کروس پلیٹ فارم حل ہے، جو موبائل پروسیسرز کے لیے بہتر کیا گیا ہے۔ XNNPACK FP32، FP16 اور INT8 آپریشن کی حمایت کرتا ہے اور مخصوصی ہارڈویئر کی ضرورت نہیں ہے۔ اسے تمام آلات کے لیے بیس لائن ڈیلی گیٹ کے طور پر تجویز کیا جاتا ہے۔
تعیناتی کا عمل تین مراحل پر مشتمل ہے۔ پہلا — TFLite Converter کے ذریعے ماڈل کو .tflite میں تبدیل کرنا۔ دوسرا — .tflite فائل کو ایپلیکیشن وسائل میں شامل کرنا۔ Android کے لیے، فائل assets میں رکھی جاتی ہے؛ iOS کے لیے، Xcode کے ذریعے ایپ بنڈل میں۔ تیسرا — مفسر کو ابتدائی کرنا اور انفرنس کا انجام دینا۔
متحرک ماڈل اپ ڈیٹس کے لیے، Google Firebase ML Model Downloading یا کلاؤڈ سے کسٹم ڈاؤن لوڈ میکانزم استعمال کرنے کی تجویز کرتا ہے۔ اپ ڈیٹ کردہ .tflite فائل مقامی اسٹوریج میں محفوظ ہوتی ہے اور اگلی بار لانچ پر مفسر میں لوڈ ہوتی ہے۔
تعیناتی کے دوران، .tflite فائل کے حجم پر غور کرنا اہم ہے۔ Google Play APK کے حجم کو 200 MB تک محدود کرتا ہے۔ 50 MB سے بڑے ماڈل کے لیے، Android App Bundle استعمال کرنے یا Play Asset Delivery کے ذریعے ماڈل کو علاحدہ ڈاؤن لوڈ کرنے کی تجویز کی جاتی ہے۔
Android پر Java API کے ساتھ ماڈل لوڈ کرنے اور چلانے کی مثال۔ assets سے .tflite لوڈ کرنے کے لیے Interpreter.create() اور انفرنس کے لیے run() استعمال کریں۔ انپوٹ اور آؤٹپوٹ ڈیٹا کائی جہتی ارے یا ByteBuffer کے طور پر پاس کیا جاتا ہے:
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();
ہارڈویئر اکسیلریشن کے لیے Android پر GPU Delegate کے استعمال کی مثال۔ انحصار com.android.support:tensorflow-lite-gpu شامل کریں اور مفسر بناتے وقت ڈیلی گیٹ متعین کریں:
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);
// Run inference on the input data
interpreter.run(input, output);
// Release delegate resources after inference
gpuDelegate.close();
interpreter.close();
اکثر پوچے جانے والے سوالات
TensorFlow تربیت اور انفرنس کے لیے ایک مکمل فریم ورک ہے۔ TensorFlow Lite صرف موبائل آلات پر انفرنس کے لیے ہے۔ TFLite .tflite فارمیٹ استعمال کرتا ہے اور بیک پروپیگیشن کی حمایت نہیں کرتا۔
حمایت یافتہ ڈیلی گیٹس میں GPU Delegate (OpenGL/Metal)، NNAPI Delegate (Android)، Core ML Delegate (iOS) اور XNNPACK Delegate (ARM CPU) شامل ہیں۔ ہر ڈیلی گیٹ ایک مقرر قسم کے ہارڈویئر کے لیے بہتر کیا گیا ہے۔
کوانٹائیزیشن استعمال کریں: FP16 حجم کو 2 گنا، INT8 4 گنا کم کرتا ہے۔ تبدیل سے پہلے ڈائنامک کوانٹائیزیشن، وزن پروننگ اور ماڈل ڈیسٹیلیشن بھی دستیاب ہے۔
ہاں، TFLite Model Maker اور آن ڈیوائس ٹریننگ API (تجرباتی) کے ذریعے۔ صارف کے آلے پر براہراست فائن ٹیوننگ اور ماڈل ذاتی بنانے کی حمایت ہے۔
TFLite CNN، RNN، LSTM، Transformer، موبائل آرکیٹیکچرز (MobileNet، EfficientNet، YOLO، BERT) اور کسٹم آپریشن کی حمایت کرتا ہے۔ حد ہدف ڈیلی گیٹ میں دستیاب آپریٹرز ہے۔
خلاصہ
ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے
IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔
مزید پڑھیں