API-të e mëposhtme të kohës së ekzekutimit të LiteRT janë të disponueshme për zhvillimin e Android:
-
CompiledModelAPI: Standardi modern për inferencë me performancë të lartë , duke përmirësuar përshpejtimin e harduerit në të gjithë CPU/GPU/NPU. Mësoni më shumë rreth arsyeve pse të zgjidhni CompiledModel API . - API-ja
Interpreter: API-ja bazë e përfundimit, e mirëmbajtur për pajtueshmëri të prapambetur.
Filloni me API-në CompiledModel
Për modelet klasike të ML , shihni aplikacionet demo të mëposhtme.
- Segmentimi i imazhit në aplikacionin Kotlin : Përfundimi i CPU/GPU/NPU.
- Segmentimi i imazhit në aplikacionin C++ : Përfundimi i CPU/GPU/NPU me ekzekutim asinkron .
Për modelet GenAI , shihni aplikacionet demo të mëposhtme:
- Ngjashmëria semantike e Gemma-s në aplikacionin C++ : Përfundimi i CPU/GPU/NPU.
Versionet dhe API-të e mbështetura të Android-it
| Versioni LiteRT | Statusi | API i mbështetur | Niveli Min SDK | Versioni Min NDK (nëse përdoret) | Data e publikimit |
|---|---|---|---|---|---|
v2.1.0 | ✅ Më të fundit | CompiledModelInterpreter (vetëm CPU) | 23 (Android 6 Marshmallow) | r26a | 2025-12-19 |
v2.0.3 | ⚠️ Trashëgimi | CompiledModel | 26 (Android 8 Oreo) | r26a | 2025-11-08 |
v1.4.1 | ✅ Më të fundit | Interpreter | 21 (Android 5 Lollipop) | r26a | 2025-11-07 |
v1.4.0 | ⚠️ Trashëgimi | Interpreter | 26 (Android 8 Oreo) | r26a | 2025-06-25 |
v1.3.0 | ⚠️ Trashëgimi | Interpreter | 21 (Android 5 Lollipop) | r26a | 2025-05-19 |
v1.2.0 | ⚠️ Trashëgimi | Interpreter | 21 (Android 5 Lollipop) | r26a | 2025-03-13 |
E rëndësishme: Mbani varësitë tuaja të përditësuara për të siguruar përputhshmërinë me veçoritë dhe përditësimet më të fundit të sigurisë.
Nisje e shpejtë me API- CompiledModel
Shtoni paketën LiteRT Maven në projektin tuaj Android:
dependencies {
...
implementation `com.google.ai.edge.litert:litert:2.1.0`
}
Integroni modelin tuaj .tflite me API- CompiledModel . Fragmenti i mëposhtëm i kodit tregon implementimin bazë në Kotlin dhe C++.
Kotlin
// 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()
C++
// 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));