API Kotlin LiteRT CompiledModel

L'API LiteRT CompiledModel è disponibile in Kotlin e offre agli sviluppatori Android un'esperienza semplice e incentrata sull'acceleratore con API di alto livello. Per un esempio, vedi l'app Kotlin per la segmentazione delle immagini.

La seguente guida mostra l'inferenza della CPU di base dell'API CompiledModel Kotlin. Consulta la guida sull'accelerazione GPU e sull'accelerazione NPU per funzionalità di accelerazione avanzate.

Aggiungi pacchetto Maven

Aggiungi il pacchetto Maven LiteRT al tuo progetto Android:

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

Inferenza di base

Crea CompiledModel

Inizializza il runtime con un modello e l'accelerazione hardware che preferisci:

val  model =
  CompiledModel.create(
    context.assets,
    "mymodel.tflite",
    CompiledModel.Options(Accelerator.CPU),
    env,
  )

Creare buffer di input e output

Crea le strutture di dati (buffer) necessarie per contenere i dati di input che inserirai nel modello per l'inferenza e i dati di output che il modello produce dopo l'esecuzione dell'inferenza.

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

Se utilizzi la memoria della CPU, compila gli input scrivendo i dati direttamente nel primo buffer di input.

inputBuffers[0].writeFloat(FloatArray(data_size) { data_value /* your data */ })

Richiamare il modello

Fornisci i buffer di input e output ed esegui il modello.

model.run(inputBuffers, outputBuffers)

Recuperare gli output

Recupera gli output leggendo direttamente l'output del modello dalla memoria.

val outputFloatArray = outputBuffers[0].readFloat()

Utilizza TensorBuffer

LiteRT fornisce il supporto integrato per l'interoperabilità dei buffer I/O, utilizzando l'API Tensor Buffer (TensorBuffer) per gestire il flusso di dati in entrata e in uscita dal CompiledModel. L'API Tensor Buffer consente di scrivere (Write<T>()) e leggere (Read<T>()) e bloccare i buffer.

Per una visione più completa di come viene implementata l'API Tensor Buffer, consulta il codice sorgente all'indirizzo TensorBuffer.kt.