تتوفّر واجهة برمجة التطبيقات LiteRT CompiledModel في Kotlin، ما يتيح لمطوّري Android الاستفادة من تجربة سلسة تعتمد على أدوات التسريع أولاً، وذلك باستخدام واجهات برمجة تطبيقات عالية المستوى. للاطّلاع على مثال، راجِع تطبيق Kotlin لتقسيم الصور.
يوضّح الدليل التالي عملية الاستنتاج الأساسية لوحدة المعالجة المركزية باستخدام واجهة برمجة التطبيقات 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 إمكانية التشغيل التفاعلي المضمّنة لمخزن الإدخال/الإخراج المؤقت، وذلك باستخدام Tensor Buffer API (TensorBuffer) للتعامل مع تدفق البيانات إلى CompiledModel ومنه. توفّر واجهة برمجة التطبيقات Tensor Buffer API إمكانية الكتابة (Write<T>()) والقراءة (Read<T>()) وتأمين المخازن المؤقتة.
للحصول على عرض أكثر اكتمالاً لطريقة تنفيذ Tensor Buffer API، راجِع رمز المصدر في TensorBuffer.kt.