API LiteRT CompiledModel доступен в Kotlin, предоставляя разработчикам Android удобный интерфейс с приоритетом на ускоритель, основанный на высокоуровневых API. В качестве примера см. приложение Kotlin для сегментации изображений .
В этом руководстве показан базовый алгоритм выполнения операций на ЦП с использованием API CompiledModel Kotlin. Для получения информации о расширенных функциях ускорения см. руководство по ускорению на графическом процессоре и нейронном процессоре .
Добавить пакет Maven
Добавьте пакет LiteRT Maven в свой проект Android:
dependencies {
...
implementation `com.google.ai.edge.litert:litert:2.1.0`
}
Базовый вывод
Создать CompiledModel
Инициализируйте среду выполнения, указав модель и выбранный вами аппаратный ускоритель:
val model =
CompiledModel.create(
context.assets,
"mymodel.tflite",
CompiledModel.Options(Accelerator.CPU),
env,
)
Создание входных и выходных буферов
Создайте необходимые структуры данных (буферы) для хранения входных данных, которые вы будете подавать в модель для вывода результатов, и выходных данных, которые модель выдает после выполнения вывода.
val inputBuffers = model.createInputBuffers()
val outputBuffers = model.createOutputBuffers()
Если вы используете память процессора, заполните входные буферы, записывая данные непосредственно в первый входной буфер.
inputBuffers[0].writeFloat(FloatArray(data_size) { data_value /* your data */ })
Вызовите модель
Предоставив входные и выходные буферы, запустите модель.
model.run(inputBuffers, outputBuffers)
Получение результатов
Получение результатов осуществляется путем прямого считывания выходных данных модели из памяти.
val outputFloatArray = outputBuffers[0].readFloat()
Используйте TensorBuffer
LiteRT обеспечивает встроенную поддержку взаимодействия буферов ввода-вывода, используя API Tensor Buffer ( TensorBuffer ) для обработки потока данных в CompiledModel и из него. API Tensor Buffer предоставляет возможность записи ( Write<T>() ) и чтения ( Read<T>() ), а также блокировки буферов.
Более полное представление о реализации API Tensor Buffer можно найти в исходном коде по адресу TensorBuffer.kt .