Android এর জন্য LiteRT

অ্যান্ড্রয়েড ডেভেলপমেন্টের জন্য নিম্নলিখিত LiteRT রানটাইম API-গুলো উপলব্ধ রয়েছে:

  • CompiledModel API: উচ্চ-পারফরম্যান্স ইনফারেন্সের আধুনিক মান, যা CPU/GPU/NPU জুড়ে হার্ডওয়্যার অ্যাক্সিলারেশনকে সুবিন্যস্ত করে। কেন CompiledModel API বেছে নেবেন , সে সম্পর্কে আরও জানুন।
  • Interpreter এপিআই: মৌলিক ইনফারেন্স এপিআই, যা পূর্ববর্তী সংস্করণের সাথে সামঞ্জস্য রক্ষার জন্য রক্ষণাবেক্ষণ করা হয়।

CompiledModel API দিয়ে শুরু করুন

সমর্থিত অ্যান্ড্রয়েড সংস্করণ এবং এপিআই

LiteRT সংস্করণ অবস্থা সমর্থিত এপিআই সর্বনিম্ন SDK স্তর সর্বনিম্ন এনডিকে সংস্করণ (যদি ব্যবহৃত হয়) মুক্তির তারিখ
v2.1.4 ✅ সর্বশেষ CompiledModel
Interpreter (শুধুমাত্র সিপিইউ)
23 (অ্যান্ড্রয়েড ৬ মার্শমেলো) r26a ২০২৬-০৪-১০
v2.1.3 ⚠️ উত্তরাধিকার CompiledModel
Interpreter (শুধুমাত্র সিপিইউ)
23 (অ্যান্ড্রয়েড ৬ মার্শমেলো) r26a ২০২৬-০৩-১৬
v2.1.1 ⚠️ উত্তরাধিকার CompiledModel
Interpreter (শুধুমাত্র সিপিইউ)
23 (অ্যান্ড্রয়েড ৬ মার্শমেলো) r26a ২০২৬-০১-২৭
v2.1.0 ⚠️ উত্তরাধিকার CompiledModel
Interpreter (শুধুমাত্র সিপিইউ)
23 (অ্যান্ড্রয়েড ৬ মার্শমেলো) r26a ২০২৫-১২-১৯
v2.0.3 ⚠️ উত্তরাধিকার CompiledModel 26 (অ্যান্ড্রয়েড ৮ ওরিও) r26a ২০২৫-১১-০৮
v1.4.2 ✅ সর্বশেষ Interpreter 21 (অ্যান্ড্রয়েড ৫ ললিপপ) r26a ২০২৬-০৩-১৬
v1.4.1 ⚠️ উত্তরাধিকার Interpreter 21 (অ্যান্ড্রয়েড ৫ ললিপপ) r26a ২০২৫-১১-০৭
v1.4.0 ⚠️ উত্তরাধিকার Interpreter 26 (অ্যান্ড্রয়েড ৮ ওরিও) r26a ২০২৫-০৬-২৫
v1.3.0 ⚠️ উত্তরাধিকার Interpreter 21 (অ্যান্ড্রয়েড ৫ ললিপপ) r26a ২০২৫-০৫-১৯
v1.2.0 ⚠️ উত্তরাধিকার Interpreter 21 (অ্যান্ড্রয়েড ৫ ললিপপ) r26a ২০২৫-০৩-১৩

গুরুত্বপূর্ণ: সর্বশেষ ফিচার ও নিরাপত্তা আপডেটের সাথে সামঞ্জস্যতা নিশ্চিত করতে আপনার ডিপেন্ডেন্সিগুলো হালনাগাদ রাখুন।

CompiledModel API দিয়ে দ্রুত শুরু করুন

আপনার অ্যান্ড্রয়েড প্রজেক্টে LiteRT Maven প্যাকেজটি যোগ করুন:

dependencies {
  ...
  implementation `com.google.ai.edge.litert:litert:2.1.0`
}

আপনার .tflite মডেলটিকে CompiledModel API-এর সাথে সংযুক্ত করুন। নিচের কোড স্নিপেটটিতে কোটলিন এবং সি++ এ এর ​​মৌলিক বাস্তবায়ন দেখানো হয়েছে।

কোটলিন

// Load model and initialize runtime
val compiledModel = CompiledModel.create(
    "/path/to/mymodel.tflite",
    CompiledModel.Options(Accelerator.CPU))

// Preallocate input/output buffers
val inputBuffers = compiledModel.createInputBuffers()
val outputBuffers = compiledModel.createOutputBuffers()

// Fill the input buffer
inputBuffers.get(0).writeFloat(input0)
inputBuffers.get(1).writeFloat(input1)

// Invoke
compiledModel.run(inputBuffers, outputBuffers)

// Read the output
val output = outputBuffers.get(0).readFloat()

সি++

// Load model and initialize runtime
LITERT_ASSIGN_OR_RETURN(auto env, GetEnvironment());
LITERT_ASSIGN_OR_RETURN(auto options, GetOptions());
LITERT_ASSIGN_OR_RETURN(
    auto compiled_model,
    CompiledModel::Create(env, "/path/to/mymodel.tflite", options));

// Preallocate input/output buffers
LITERT_ASSIGN_OR_RETURN(auto input_buffers,compiled_model.CreateInputBuffers(signature_index));
LITERT_ASSIGN_OR_RETURN(auto output_buffers,compiled_model.CreateOutputBuffers(signature_index));

// Fill the input buffer
LITERT_ABORT_IF_ERROR(input_buffers[0].Write(input0));
LITERT_ABORT_IF_ERROR(input_buffers[1].Write(input1));

// Invoke
LITERT_ABORT_IF_ERROR(compiled_model.Run(signature_index, input_buffers, output_buffers));

// Read the output
LITERT_ABORT_IF_ERROR(output_buffers[0].Read(output0));