অ্যান্ড্রয়েড ডেভেলপমেন্টের জন্য নিম্নলিখিত LiterRT রানটাইম API গুলি উপলব্ধ:
-
CompiledModelAPI: উচ্চ-কার্যক্ষমতাসম্পন্ন অনুমানের জন্য আধুনিক মান, CPU/GPU/NPU জুড়ে হার্ডওয়্যার ত্বরণকে সহজতর করে। CompiledModel API কেন বেছে নেবেন সে সম্পর্কে আরও জানুন। -
Interpreterএপিআই: মৌলিক অনুমান এপিআই, যা পশ্চাদমুখী সামঞ্জস্যের জন্য রক্ষণাবেক্ষণ করা হয়।
CompiledModel API দিয়ে শুরু করুন
ক্লাসিক্যাল এমএল মডেলের জন্য , নিম্নলিখিত ডেমো অ্যাপগুলি দেখুন।
- চিত্র বিভাজন কোটলিন অ্যাপ : CPU/GPU/NPU অনুমান।
- চিত্র বিভাজন C++ অ্যাপ : অ্যাসিঙ্ক এক্সিকিউশন সহ CPU/GPU/NPU অনুমান।
GenAI মডেলের জন্য , নিম্নলিখিত ডেমো অ্যাপগুলি দেখুন:
- জেমা শব্দার্থিক মিল এম্বেডিং সি++ অ্যাপ : সিপিইউ/জিপিইউ/এনপিইউ অনুমান।
সমর্থিত অ্যান্ড্রয়েড সংস্করণ এবং API গুলি
| LiterRT সংস্করণ | অবস্থা | সমর্থিত API | ন্যূনতম SDK স্তর | ন্যূনতম NDK সংস্করণ (যদি ব্যবহৃত হয়) | মুক্তির তারিখ |
|---|---|---|---|---|---|
v2.1.0 | ✅ সর্বশেষ | CompiledModelInterpreter (শুধুমাত্র CPU) | 23 (অ্যান্ড্রয়েড ৬ মার্শম্যালো) | r26a | ২০২৫-১২-১৯ |
v2.0.3 | ⚠️ উত্তরাধিকার | CompiledModel | 26 (অ্যান্ড্রয়েড ৮ ওরিও) | 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 দিয়ে কুইকস্টার্ট করুন
আপনার অ্যান্ড্রয়েড প্রজেক্টে LiterRT Maven প্যাকেজ যোগ করুন:
dependencies {
...
implementation `com.google.ai.edge.litert:litert:2.1.0`
}
আপনার .tflite মডেলটিকে CompiledModel API এর সাথে একীভূত করুন। নিম্নলিখিত কোড স্নিপেটটি Kotlin এবং C++ এ মৌলিক বাস্তবায়ন দেখায়।
কোটলিন
// 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));