LiteRT CompiledModel API, Kotlin'de kullanılabilir. Android geliştiricilere üst düzey API'lerle sorunsuz ve hızlandırıcı öncelikli bir deneyim sunar. Örneğin, Image segmentation Kotlin App'e (Görüntü Segmentasyonu Kotlin Uygulaması) bakın.
Aşağıdaki kılavuzda, CompiledModel Kotlin API'nin temel CPU çıkarımı gösterilmektedir. Gelişmiş hızlandırma özellikleri için GPU hızlandırma ve NPU hızlandırma ile ilgili kılavuza bakın.
Maven paketi ekleme
LiteRT Maven paketini Android projenize ekleyin:
dependencies {
...
implementation `com.google.ai.edge.litert:litert:2.1.0`
}
Temel çıkarım
CompiledModel oluştur
Çalışma zamanını bir model ve donanım hızlandırma seçeneğinizle başlatın:
val model =
CompiledModel.create(
context.assets,
"mymodel.tflite",
CompiledModel.Options(Accelerator.CPU),
env,
)
Giriş ve Çıkış Arabellekleri Oluşturma
Çıkarım için modele besleyeceğiniz giriş verilerini ve modelin çıkarım çalıştırdıktan sonra ürettiği çıkış verilerini tutmak üzere gerekli veri yapılarını (arabellekler) oluşturun.
val inputBuffers = model.createInputBuffers()
val outputBuffers = model.createOutputBuffers()
CPU belleği kullanıyorsanız girişleri doğrudan ilk giriş arabelleğine veri yazarak doldurun.
inputBuffers[0].writeFloat(FloatArray(data_size) { data_value /* your data */ })
Modeli çağırma
Giriş ve çıkış arabelleklerini sağlayarak modeli çalıştırın.
model.run(inputBuffers, outputBuffers)
Çıkışları alma
Model çıkışını doğrudan bellekten okuyarak çıkışları alma.
val outputFloatArray = outputBuffers[0].readFloat()
TensorBuffer hareketini kullanın
LiteRT, CompiledModel'ye veri akışını ve CompiledModel'den veri akışını işlemek için Tensor Buffer API'yi (TensorBuffer) kullanarak G/Ç arabellek birlikte çalışabilirliği için yerleşik destek sağlar. Tensor Buffer API, arabellekleri yazma (Write<T>()), okuma (Read<T>()) ve kilitleme olanağı sağlar.
Tensor Buffer API'nin nasıl uygulandığına dair daha kapsamlı bir görünüm için TensorBuffer.kt adresindeki kaynak koduna bakın.