Die LiteRT CompiledModel API ist in Kotlin verfügbar und bietet Android-Entwicklern eine nahtlose, beschleunigerorientierte Erfahrung mit APIs auf hoher Ebene. Ein Beispiel finden Sie in der Kotlin-App zur Bildsegmentierung.
Im folgenden Leitfaden wird die grundlegende CPU-Inferenz der CompiledModel Kotlin API beschrieben. Weitere Informationen zu erweiterten Beschleunigungsfunktionen finden Sie in den Anleitungen zur GPU-Beschleunigung und NPU-Beschleunigung.
Maven-Paket hinzufügen
Fügen Sie Ihrem Android-Projekt das LiteRT-Maven-Paket hinzu:
dependencies {
...
implementation `com.google.ai.edge.litert:litert:2.1.0`
}
CompiledModel erstellen
Initialisieren Sie die Laufzeit mit einem Modell und der von Ihnen gewählten Hardwarebeschleunigung:
val model =
CompiledModel.create(
context.assets,
"mymodel.tflite",
CompiledModel.Options(Accelerator.CPU),
env,
)
Eingabe- und Ausgabepuffer erstellen
Erstellen Sie die erforderlichen Datenstrukturen (Puffer) für die Eingabedaten, die Sie in das Modell für die Inferenz einfügen, und für die Ausgabedaten, die das Modell nach der Inferenz erzeugt.
val inputBuffers = model.createInputBuffers()
val outputBuffers = model.createOutputBuffers()
Wenn Sie den CPU-Arbeitsspeicher verwenden, füllen Sie die Eingaben, indem Sie Daten direkt in den ersten Eingabepuffer schreiben.
inputBuffers[0].writeFloat(FloatArray(data_size) { data_value /* your data */ })
Modell aufrufen
Stellen Sie die Ein- und Ausgabepuffer bereit und führen Sie das Modell aus.
model.run(inputBuffers, outputBuffers)
Ausgaben abrufen
Ausgaben abrufen, indem die Modellausgabe direkt aus dem Speicher gelesen wird.
val outputFloatArray = outputBuffers[0].readFloat()
„TensorBuffer“ verwenden
LiteRT bietet integrierte Unterstützung für die Interoperabilität von E/A-Puffern. Dazu wird die Tensor Buffer API (TensorBuffer) verwendet, um den Datenfluss in und aus dem CompiledModel zu verarbeiten. Die Tensor Buffer API bietet die Möglichkeit, Puffer zu schreiben (Write<T>()), zu lesen (Read<T>()) und zu sperren.
Eine umfassendere Ansicht der Implementierung der TensorBuffer API finden Sie im Quellcode unter TensorBuffer.kt.