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 মোবাইল এবং এমবেডেড ডিভাইসে অন-ডিভাইস ML-এর জন্য একটি হালকা ফ্রেমওয়ার্ক।
  • মডেল TensorFlow SavedModel বা Keras থেকে TFLite কনভার্টারের মাধ্যমে .tflite ফরম্যাটে রূপান্তরিত হয়।
  • আকার কমানোর জন্য INT8, FP16 কোয়ান্টাইজেশন এবং ডায়নামিক কোয়ান্টাইজেশন সমর্থিত।
  • GPU Delegate, NNAPI এবং Core ML Delegate-এর মাধ্যমে হার্ডওয়্যার এক্সিলারেশন উপলব্ধ।
  • TFLite Android, iOS এবং Linux-এ Java, C++, Swift এবং Python-এ API নিয়ে কাজ করে।

TensorFlow Lite কী

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 এবং ডেলিগেটের মাধ্যমে কাস্টম অপারেশন।

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-বিট পূর্ণসংখ্যায় রূপান্তর করে। মডেলের আকার 4x কমে যায়, এবং INT8 সমর্থনযুক্ত ডিভাইসে ইনফারেন্স গতি 3x পর্যন্ত বৃদ্ধি পায়। FP16 কোয়ান্টাইজেশন ন্যূনতম নির্ভুলতা হ্রাসের সাথে আকার অর্ধেক করে।

ডায়নামিক কোয়ান্টাইজেশন ওয়েট INT8-এ রাখে কিন্তু গণনা FP32-এ সম্পাদন করে। এই মোড নির্ভুলতার প্রতি সংবেদনশীল মডেলের জন্য উপযুক্ত এবং গুণমান বজায় রেখে 4x পর্যন্ত আকার হ্রাস দেয়। Google ML Performance Benchmarks অনুসারে, NLP মডেলের জন্য ডায়নামিক কোয়ান্টাইজেশন সুপারিশ করা হয়।

TFLite কোয়ান্টাইজেশন মোডের তুলনা

মোডওয়েট প্রকারঅ্যাক্টিভেশন প্রকারআকার হ্রাস
FP32 (কোয়ান্টাইজেশন ছাড়া)FP32FP321x
FP16FP16FP322x
ডায়নামিক INT8INT8FP324x
পূর্ণ INT8INT8INT84x

Android এবং iOS-এ হার্ডওয়্যার এক্সিলারেশন

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-এর তুলনায় ইনফারেন্স 4x পর্যন্ত দ্রুত হয়। iOS-এর জন্য GPU Delegate Metal Performance Shaders ব্যবহার করে।

XNNPACK Delegate ARM CPU-এর জন্য একটি ক্রস-প্ল্যাটফর্ম সমাধান, মোবাইল প্রসেসরের জন্য অপটিমাইজড। XNNPACK FP32, FP16 এবং INT8 অপারেশন সমর্থন করে এবং বিশেষ হার্ডওয়্যারের প্রয়োজন হয় না। এটি সমস্ত ডিভাইসের জন্য বেসলাইন ডেলিগেট হিসাবে সুপারিশ করা হয়।

TFLite-এর সাথে মডেল ডিপ্লয়মেন্ট

ডিপ্লয়মেন্ট প্রক্রিয়ায় তিনটি ধাপ অন্তর্ভুক্ত। প্রথম — TFLite Converter-এর মাধ্যমে মডেলটিকে .tflite-এ রূপান্তর করা। দ্বিতীয় — অ্যাপ্লিকেশন রিসোর্সে .tflite ফাইল অন্তর্ভুক্ত করা। Android-এর জন্য, ফাইলটি assets-এ রাখা হয়; iOS-এর জন্য, 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-এর সাথে মডেল লোড এবং চালানোর উদাহরণ। assets থেকে .tflite লোড করতে Interpreter.create() এবং ইনফারেন্সের জন্য 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();

হার্ডওয়্যার এক্সিলারেশনের জন্য Android-এ GPU Delegate ব্যবহারের উদাহরণ। নির্ভরতা 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);

// Run inference on the input data
interpreter.run(input, output);

// Release delegate resources after inference
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 কমায়। রূপান্তরের আগে ডায়নামিক কোয়ান্টাইজেশন, ওয়েট প্রুনিং এবং মডেল ডিস্টিলেশনও উপলব্ধ।

TFLite কি অন-ডিভাইস প্রশিক্ষণ সমর্থন করে?

হ্যাঁ, TFLite Model Maker এবং অন-ডিভাইস ট্রেনিং API (পরীক্ষামূলক) এর মাধ্যমে। ব্যবহারকারীর ডিভাইসে সরাসরি ফাইন-টিউনিং এবং মডেল ব্যক্তিগতকরণ সমর্থিত।

TFLite কী ধরণের মডেল সমর্থন করে?

TFLite CNN, RNN, LSTM, Transformer, মোবাইল আর্কিটেকচার (MobileNet, EfficientNet, YOLO, BERT) এবং কাস্টম অপারেশন সমর্থন করে। সীমাবদ্ধতা হল লক্ষ্য ডেলিগেটে উপলব্ধ অপারেটর।

সারাংশ

  • TensorFlow Lite মোবাইল এবং এমবেডেড ডিভাইসে অন-ডিভাইস ML-এর জন্য Google-এর একটি হালকা ফ্রেমওয়ার্ক।
  • মডেল TFLite Converter-এর মাধ্যমে TensorFlow SavedModel বা Keras থেকে .tflite ফরম্যাটে রূপান্তরিত হয়।
  • INT8 এবং FP16 কোয়ান্টাইজেশন মডেলের আকার 4x পর্যন্ত কমায় এবং ইনফারেন্স 3x পর্যন্ত দ্রুত করে।
  • GPU, NNAPI, Core ML এবং XNNPACK ডেলিগেট-এর মাধ্যমে হার্ডওয়্যার এক্সিলারেশন উপলব্ধ।
  • রানটাইম Android-এ প্রায় 300 KB জায়গা নেয় এবং 4 বিলিয়নেরও বেশি ডিভাইসে চলে।
  • Task Library ক্লাসিফিকেশন, ডিটেকশন, সেগমেন্টেশন এবং NLU-এর জন্য প্রস্তুত সমাধান প্রদান করে।
  • ডায়নামিক আপডেটের জন্য, Firebase ML বা Play Asset Delivery ব্যবহার করুন।

আমরা একটি মোবাইল অ্যাপ্লিকেশন টার্নকি তৈরি করব

IT Sectr 2017 সাল থেকে স্টার্টআপ এবং ব্যবসার জন্য iOS এবং Android অ্যাপ্লিকেশন তৈরি করে। আমরা আপনাকে পরামর্শ দেব এবং সেরা সমাধান প্রস্তাব করব।

প্রকল্প নিয়ে আলোচনা করুন

আরও পড়ুন