.tflite — TFLite ماڈل فارمیٹ کا جوہر، ساخت اور اطلاق

مصنف: IT Sectr اشاعت: 2026-07-18 مطالعے کا وقت: 6 منٹ

.tflite Google کی FlatBuffers ٹیکنالوجی پر مبنی TensorFlow Lite ماڈل کا بائنری فائل فارمیٹ ہے۔ یہ فارمیٹ محدود وسائل والے موبائل، ایمبیڈڈ اور ایج ڈیوائسز پر موثر انفرنس کے لیے موزوں کیا گیا ہے۔ سیریلائزیشن کے دیگر فارمیٹس کے برعکس، FlatBuffers پارسنگ اور کاپی کیے بغیر ڈیٹا تک براہ راست رسائی فراہم کرتا ہے، جو ماڈل کے تیز آغاز کے لیے اہم ہے۔ TensorFlow Lite Converter Guide, 2025 کے مطابق، .tflite فائل میں حساب کا گراف، کوانٹائزڈ یا مکمل درستگی والے وزن اور انٹرپریٹر کے لیے میٹا ڈیٹا ہوتا ہے۔ .tflite Google کے ماحولیاتی نظام میں آن ڈیوائس ML کے لیے معیاری فارمیٹ ہے۔

اہم نکات

  • .tflite — موبائل انفرنس کے لیے FlatBuffers پر مبنی TensorFlow Lite ماڈل کا بائنری فارمیٹ۔
  • فائل میں ایک ہی بائنری کنٹینر میں حساب کا گراف، ماڈل کے وزن اور میٹا ڈیٹا ہوتا ہے۔
  • FlatBuffers پارسنگ اور میموری مختص کیے بغیر ڈیٹا تک براہ راست رسائی فراہم کرتا ہے۔
  • INT8, FP16 کوانٹائزیشن اور ڈائنامک کوانٹائزیشن کو سپورٹ کرتا ہے۔
  • .tflite Android, iOS اور Linux پر TFLite Interpreter کے ساتھ استعمال ہوتا ہے۔

.tflite فارمیٹ کیا ہے

.tflite مشین لرننگ ماڈل کی ایک سیریلائزڈ نمائندگی ہے جو محدود میموری اور کمپیوٹنگ طاقت والے ڈیوائسز پر انفرنس کے لیے موزوں کی گئی ہے۔ SavedModel فارمیٹ کے برعکس، جو گراف کو protobuf میں محفوظ کرتا ہے اور لوڈ کرنے کے لیے اہم وسائل کی ضرورت ہوتی ہے، .tflite FlatBuffers استعمال کرتا ہے — کاپی کے بغیر ڈیٹا تک رسائی والی ایک سیریلائزیشن لائبریری۔

.tflite فارمیٹ موبائل پلیٹ فارم کی خصوصیات کو مدنظر رکھتے ہوئے ڈیزائن کیا گیا ہے: لوڈنگ کے دوران کم سے کم میموری استعمال، تیز آغاز، اور کوانٹائزڈ وزن کی حمایت۔ .tflite فائل تربیت کو سپورٹ نہیں کرتی — صرف انفرنس۔ یہ مکمل TensorFlow فارمیٹس سے ایک بنیادی فرق ہے، جو رن ٹائم سائز کو نمایاں طور پر کم کرنے کی اجازت دیتا ہے۔

Google Research, 2024 کے مطابق، INT8 کوانٹائزیشن والے .tflite فارمیٹ میں ماڈل FP32 ماڈلز کے مقابلے میں 60% تیزی سے لوڈ ہوتے ہیں اور انفرنس کے دوران 40% کم RAM استعمال کرتے ہیں۔

.tflite فائل کی داخلی ساخت

.tflite فائل FlatBuffers اسکیما کے مطابق منظم کئی حصوں پر مشتمل ہوتی ہے۔ اہم حصہ Model ہے، جس میں حساب کا گراف (SubGraph)، آپریٹرز کی فہرست (OperatorCodes) اور وزن کے بفر ہوتے ہیں۔ ہر SubGraph میں ٹینسرز، آپریٹرز اور ان پٹ/آؤٹ پٹ انڈیکس ہوتے ہیں۔

OperatorCodes حصے میں ماڈل میں استعمال ہونے والے تمام آپریٹرز کے شناخت کار ہوتے ہیں — Conv2D, DepthwiseConv2D, FullyConnected, Softmax اور دیگر۔ ہر آپریٹر کا پہلے سے طے شدہ BuiltinOperator فہرست سے ایک کوڈ ہوتا ہے۔ اگر ماڈل میں ایسی کارروائیاں ہیں جو فہرست میں نہیں ہیں، تو انہیں Custom کے طور پر نشان زد کیا جاتا ہے اور انہیں ڈیلیگیٹ یا کسٹم آپریٹر کے ذریعے نفاذ کی ضرورت ہوتی ہے۔

Buffers حصے میں ماڈل کے وزن کا بائنری ڈیٹا ہوتا ہے۔ کوانٹائزیشن موڈ پر منحصر ہے، وزن FP32, FP16, INT8 یا اسکیلنگ پیرامیٹرز کے ساتھ کوانٹائزڈ فارمیٹ میں محفوظ کیا جا سکتا ہے۔ بفر mmap کے ذریعے براہ راست میموری میں میپ ہوتے ہیں، اضافی کاپی کو ختم کرتے ہیں۔

.tflite فائل کے اہم حصے

حصہمقصد
Modelبنیادی ساخت، ورژن، تفصیل
SubGraphحساب کا گراف: ٹینسرز، آپریٹرز، ان پٹ/آؤٹ پٹ
OperatorCodesاستعمال شدہ آپریٹرز کی فہرست
Buffersماڈل کے وزن کا بائنری ڈیٹا
Metadataمیٹا ڈیٹا: ورژن، مصنف، تفصیل
SignatureDefAPI کے لیے نامزد ان پٹ اور آؤٹ پٹ

کوانٹائزیشن اور فارمیٹ کی اصلاح

.tflite تین کوانٹائزیشن موڈز کو سپورٹ کرتا ہے۔ مکمل عددی INT8 کوانٹائزیشن — وزن اور ایکٹیویشن 8 بٹ عددی نمبروں کے طور پر پیش کیے جاتے ہیں۔ تبدیلی کے لیے ایکٹیویشن رینج کیلیبریٹ کرنے کے لیے نمائندہ ڈیٹا سیٹ درکار ہوتا ہے۔ ماڈل کا سائز 4 گنا کم ہو جاتا ہے۔

FP16 کوانٹائزیشن — وزن کو 16 بٹ فلوٹنگ پوائنٹ نمبروں میں تبدیل کیا جاتا ہے۔ اس موڈ میں کیلیبریشن کی ضرورت نہیں اور کم سے کم درستگی کا نقصان ہوتا ہے۔ ایکٹیویشن FP32 میں رہتی ہیں۔ ماڈل کا سائز 2 گنا کم ہو جاتا ہے۔ GPU اور NPU پر FP16 سپورٹ والے ڈیوائسز کے لیے تجویز کیا جاتا ہے۔

ڈائنامک کوانٹائزیشن — وزن INT8 میں تبدیل ہوتے ہیں لیکن ایکٹیویشن FP32 میں شمار ہوتی ہیں۔ ماڈل کا سائز 4 گنا کم ہوتا ہے جبکہ درستگی مکمل INT8 سے زیادہ رہتی ہے۔ Google ML Performance Benchmarks کے مطابق، یہ موڈ NLP ماڈلز اور اعلی درستگی حساسیت والے ماڈلز کے لیے بہترین ہے۔

TensorFlow ماڈل سے .tflite بنانا

ماڈل کو .tflite میں تبدیل کرنے کے لیے TFLite Converter استعمال کیا جاتا ہے — Python API tf.lite.TFLiteConverter کے ذریعے دستیاب TensorFlow کا ایک جزو۔ کنورٹر تین ذرائع کو سپورٹ کرتا ہے: SavedModel, Keras H5 اور ConcreteFunction۔ Keras ماڈل کی تبدیلی کی ایک کم سے کم مثال:

python
import tensorflow as tf

# فائل سے تربیت یافتہ Keras ماڈل لوڈ کریں
model = tf.keras.models.load_model("my_model.h5")

# ڈائنامک کوانٹائزیشن کے ساتھ .tflite میں تبدیل کریں
converter = tf.lite.TFLiteConverter.from_keras_model(model)
converter.optimizations = [tf.lite.Optimize.DEFAULT]
tflite_model = converter.convert()

# تبدیل شدہ ماڈل کو .tflite فائل میں لکھیں
with open("model.tflite", "wb") as f:
    f.write(tflite_model)

مکمل INT8 کوانٹائزیشن کے ساتھ تبدیلی کے لیے ایک کیلیبریشن ڈیٹا سیٹ درکار ہے۔ ایکٹیویشن رینج متعین کرنے کے لیے representative_dataset فراہم کریں:

python
converter = tf.lite.TFLiteConverter.from_saved_model("saved_model")
converter.optimizations = [tf.lite.Optimize.DEFAULT]
converter.representative_dataset = representative_dataset
converter.target_spec.supported_ops = [
    tf.lite.OpsSet.TFLITE_BUILTINS_INT8
]
converter.inference_input_type = tf.uint8
converter.inference_output_type = tf.uint8
tflite_quant_model = converter.convert()

.tflite کے ساتھ کام کرنے کے اوزار

Google .tflite ماڈلز کے تجزیہ اور اصلاح کے لیے اوزاروں کا ایک سیٹ فراہم کرتا ہے۔ TFLite Benchmark Tool ڈیوائس پر انفرنس کا وقت ناپتا ہے اور ہر آپریٹر کے اعدادوشمار دکھاتا ہے۔ TFLite Model Inspector حساب کے گراف کو تصوراتی شکل میں دکھاتا ہے اور ٹینسر کے سائز دکھاتا ہے۔

Netron ایک کراس پلیٹ فارم ماڈل ویژولائزر ہے جو ONNX, Core ML اور PyTorch کے ساتھ .tflite کو بھی سپورٹ کرتا ہے۔ Netron گراف کی ساخت، ہر آپریٹر کے پیرامیٹرز اور ٹینسرز کے درمیان روابط دکھاتا ہے۔ تبدیلی کے دوران ڈیبگنگ کے لیے مفید۔

TFLite Metadata API .tflite فائل میں میٹا ڈیٹا شامل کرنے کی اجازت دیتی ہے: ماڈل کی تفصیل، ان پٹ ڈیٹا فارمیٹ، پیمائش کی اکائیاں، مصنف کی معلومات۔ میٹا ڈیٹا Task Library کے ذریعے خودکار پری پروسیسنگ اور پوسٹ پروسیسنگ کنفیگریشن کے لیے استعمال ہوتا ہے۔

.tflite لوڈ اور چلانے کی مثال

iOS پر Swift API کے ساتھ .tflite ماڈل لوڈ کرنے کی مثال۔ TFLite Swift API بنڈل سے ماڈل لوڈ کرنے اور انفرنس چلانے کے لیے Interpreter فراہم کرتا ہے۔ Core ML Delegate کے ذریعے ہارڈویئر ایکسلریشن کے لیے ایک ڈیلیگیٹ مقرر کریں:

swift
import TensorFlowLite

guard let modelPath = Bundle.main.path(
    forResource: "model", ofType: "tflite"
) else { return }

let interpreter = try Interpreter.init(modelPath: modelPath)
try interpreter.allocateTensors()

// ماڈل کے لیے ان پٹ ڈیٹا تیار کریں
let inputData = Data.init(count: 1 * 224 * 224 * 3)
try interpreter.copy(inputData, toInputAt: 0)

// ماڈل انفرنس چلائیں
try interpreter.invoke()

// آؤٹ پٹ ٹینسر ڈیٹا پڑھیں
let outputTensor = try interpreter.output(at: 0)
let results = outputTensor.data.withUnsafeBytes {
    Array($0.bindMemory(to: Float32.self))
}

اکثر پوچھے گئے سوالات

کیا .tflite فائل کو ٹیکسٹ ایڈیٹر میں کھولا جا سکتا ہے؟

.tflite فائل بائنری FlatBuffers فارمیٹ میں ہوتی ہے اور ٹیکسٹ ایڈیٹر میں نہیں پڑھی جا سکتی۔ دیکھنے کے لیے Netron یا TFLite Model Inspector استعمال کریں جو ماڈل کی ساخت کو تصوراتی شکل میں دکھاتے ہیں۔

کیسے چیک کریں کہ .tflite میں کون سے آپریٹرز استعمال ہوئے ہیں؟

Python میں tf.lite.experimental.Analyzer.analyze(model_path) یا --print_model_details پرچم کے ساتھ TFLite Benchmark Tool استعمال کریں۔ یہ اوزار پیرامیٹرز سمیت آپریٹرز کی مکمل فہرست دکھاتے ہیں۔

.tflite ONNX سے کیسے مختلف ہے؟

.tflite موبائل ڈیوائسز پر انفرنس کے لیے موزوں کیا گیا ہے اور FlatBuffers استعمال کرتا ہے۔ ONNX protobuf سیریلائزیشن کے ساتھ فریم ورکس کے درمیان ماڈل کے تبادلے کے لیے ایک عالمگیر فارمیٹ ہے۔ TFLite میں بلٹ ان کوانٹائزیشن سپورٹ ہے۔

کیا .tflite کو واپس TensorFlow میں تبدیل کیا جا سکتا ہے؟

نہیں، کوانٹائزیشن اور اصلاح کے دوران معلومات کے نقصان کی وجہ سے کوئی الٹی تبدیلی موجود نہیں۔ اصل TensorFlow ماڈل کو مستقبل کی تربیت یا تبدیلیوں کے لیے الگ سے محفوظ کیا جانا چاہیے۔

.tflite فائل میں میٹا ڈیٹا کیسے شامل کریں؟

Python میں TFLite Metadata Writer API استعمال کریں۔ API Task Library کے لیے تفصیل، ان پٹ/آؤٹ پٹ فارمیٹ، پیمائش کی اکائیاں اور مثال کے طور پر ڈیٹا شامل کرنے کی اجازت دیتی ہے۔

خلاصہ

  • .tflite — موبائل انفرنس کے لیے FlatBuffers پر مبنی TensorFlow Lite ماڈل کا بائنری فارمیٹ۔
  • فائل میں ایک کنٹینر میں حساب کا گراف، وزن، میٹا ڈیٹا اور SignatureDef ہوتا ہے۔
  • FlatBuffers پارسنگ یا اضافی مختص کے بغیر ڈیٹا تک mmap رسائی فراہم کرتا ہے۔
  • INT8, FP16 اور ڈائنامک کوانٹائزیشن سائز کو 4x تک کم کرتی ہے۔
  • تبدیلی کے لیے SavedModel, Keras یا ConcreteFunction سے TFLite Converter استعمال کریں۔
  • تصور اور ڈیبگنگ Netron, TFLite Inspector اور Benchmark Tool کے ذریعے دستیاب ہے۔
  • Task Library انضمام کے لیے میٹا ڈیٹا Metadata Writer API کے ذریعے شامل کیا جاتا ہے۔

ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے

IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔

پروجیکٹ پر بحث کریں

مزید پڑھیں