Mulai Menggunakan LiteRT Next

LiteRT Next API tidak kompatibel dengan LiteRT API, sehingga aplikasi yang menggunakan LiteRT harus dimigrasikan sepenuhnya ke LiteRT Next agar dapat menggunakan fitur dan kemampuan yang disediakan oleh API baru. Aplikasi tidak dapat menggunakan TF Lite Interpreter API dan Compiled Model API secara bergantian.

LiteRT Next menyediakan API untuk Kotlin dan C++. Aplikasi yang menggunakan LiteRT SDK dalam bahasa lain harus terus menggunakan LiteRT.

Dependensi Android

Untuk memigrasikan aplikasi Android menggunakan LiteRT, ganti dependensi dari com.google.ai.edge.litert ke com.google.ai.edge.litert:litert:2.0.0-alpha.

Dengan LiteRT, akselerator GPU tersedia sebagai delegasi dalam library terpisah (com.google.ai.edge.litert:litert-gpu). Dengan LiteRT Next, akselerator GPU disertakan dalam paket LiteRT Next. Untuk mengetahui informasi selengkapnya, lihat GPU dengan LiteRT Next.

Anda dapat menambahkan paket LiteRT Next ke dependensi build.gradle:

dependencies {
  ...
  implementation `com.google.ai.edge.litert:litert:2.0.0-alpha`
}

Perubahan kode

Aplikasi yang menggunakan LiteRT harus mengganti kode yang menggunakan TFLite Interpreter API untuk kode yang menggunakan Compiled Model API. Berikut ini menunjukkan perubahan utama yang diperlukan untuk melakukan migrasi ke LiteRT Next. Untuk mengetahui detail selengkapnya, lihat referensi LiteRT Next API.

Perubahan kode di C++

Untuk memigrasikan aplikasi menggunakan C++, ganti cuplikan kunci berikut:

LiteRT (TFLite Interpreter) LiteRT Next (CompiledModel)
Memuat Model FlatBufferModel::BuildFromFile() InterpreterBuilder(...) Model::CreateFromFile("mymodel.tflite")
Catatan: Tidak ada langkah builder terpisah
Melakukan Inisialisasi Runtime builder(&interpreter), interpreter->AllocateTensors() CompiledModel::Create(env, model, kLiteRtHwAcceleratorCpu)
Catatan: Tidak ada langkah alokasi memori manual
Menggunakan Akselerator interpreter->ModifyGraphWithDelegate(...) CompiledModel::Create(env, model, kLiteRtHwAcceleratorGpu)
Menjalankan Model interpreter->Invoke() compiled_model->Run(inputs, outputs)

Perubahan kode di Kotlin

Untuk memigrasikan aplikasi menggunakan Kotlin, ikuti langkah-langkah utama berikut:

Menyiapkan model dan runtime

Dengan LiteRT, Anda memuat model, menyiapkan akselerasi, dan melakukan inisialisasi runtime dalam langkah yang berbeda:

// Load the model
val modelBuffer: MappedByteBuffer =
  FileUtil.loadMappedFile(appContext, "model.tflite")

// Initialize runtime
val options = Interpreter.Options()
val interpreter = Interpreter(modelBuffer, options)
interpreter.allocateTensors()

// Use accelerators
aval gpuDelegate = GpuDelegate()
options.addDelegate(gpuDelegate)

Dengan LiteRT Next, Anda memuat model, menentukan akselerasi, dan melakukan inisialisasi runtime secara bersamaan:

val model =
CompiledModel.create(
  context.assets,
  "model.tflite",
  CompiledModel.Options(Accelerator.GPU)
)

Menjalankan inferensi

Untuk menjalankan model dengan LiteRT:

val input = FloatBuffer.allocate(data_size)
val output = FloatBuffer.allocate(data_size)
interpreter.run(input, output)

Untuk menjalankan model dengan LiteRT Next:

val inputBuffers = model.createInputBuffers()
val outputBuffers = model.createOutputBuffers()
model.run(inputBuffers, outputBuffers)

Perpustakaan lainnya

LiteRT Next API hanya tersedia dalam Kotlin dan C++. Aplikasi yang menggunakan LiteRT SDK dalam bahasa lain tidak dapat bermigrasi ke LiteRT Next.

Aplikasi yang menggunakan LiteRT di runtime Layanan Play tidak dapat bermigrasi ke LiteRT Next, dan harus terus menggunakan runtime play-services-tflite. Library Task Library dan Model Maker tidak dapat dimigrasikan ke LiteRT Next, dan harus terus menggunakan TensorFlow Lite API.