LiteRT untuk Android

API runtime LiteRT berikut tersedia untuk pengembangan Android:

  • API CompiledModel: Standar modern untuk inferensi berperforma tinggi, yang menyederhanakan akselerasi hardware di seluruh CPU/GPU/NPU. Pelajari lebih lanjut tentang alasan memilih CompiledModel API.
  • API Interpreter: API inferensi dasar, yang dipertahankan untuk kompatibilitas mundur.

Memulai CompiledModel API

Versi dan API Android yang Didukung

Versi LiteRT Status API yang Didukung Level SDK Minimum Versi NDK Minimum (jika digunakan) Tanggal Rilis
v2.1.5 ✅ Terbaru CompiledModel
Interpreter(CPU only)
23 (Android 6 Marshmallow) r26a 2026-05-15
v2.1.4 ⚠️ Lama CompiledModel
Interpreter(CPU only)
23 (Android 6 Marshmallow) r26a 2026-04-10
v2.1.3 ⚠️ Lama CompiledModel
Interpreter(CPU only)
23 (Android 6 Marshmallow) r26a 2026-03-16
v2.1.1 ⚠️ Lama CompiledModel
Interpreter(CPU only)
23 (Android 6 Marshmallow) r26a 2026-01-27
v2.1.0 ⚠️ Lama CompiledModel
Interpreter(CPU only)
23 (Android 6 Marshmallow) r26a 2025-12-19
v2.0.3 ⚠️ Lama CompiledModel 26 (Android 8 Oreo) r26a 2025-11-08
v1.4.2 ✅ Terbaru Interpreter 21 (Android 5 Lollipop) r26a 2026-03-16
v1.4.1 ⚠️ Lama Interpreter 21 (Android 5 Lollipop) r26a 2025-11-07
v1.4.0 ⚠️ Lama Interpreter 26 (Android 8 Oreo) r26a 2025-06-25
v1.3.0 ⚠️ Lama Interpreter 21 (Android 5 Lollipop) r26a 2025-05-19
v1.2.0 ⚠️ Lama Interpreter 21 (Android 5 Lollipop) r26a 2025-03-13

Penting: Pastikan dependensi Anda selalu yang terbaru untuk memastikan kompatibilitas dengan fitur dan update keamanan terbaru.

Panduan memulai CompiledModel API

Tambahkan paket Maven LiteRT ke project Android Anda:

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

Integrasikan model .tflite Anda dengan CompiledModel API. Cuplikan kode berikut menunjukkan implementasi dasar di Kotlin dan 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));