รันไทม์ NNAPI

โมดูลรันไทม์ NNAPI คือไลบรารีที่ใช้ร่วมกันซึ่งอยู่ระหว่างแอปกับไดรเวอร์แบ็กเอนด์ Android Neural Networks API (NNAPI) เป็น Android C API ที่ออกแบบมาเพื่อทำงานด้านการคำนวณอย่างหนัก สำหรับแมชชีนเลิร์นนิงในอุปกรณ์เคลื่อนที่ และเปิดใช้การดำเนินการอนุมานแบบเร่งฮาร์ดแวร์ในอุปกรณ์ Android โมดูลนี้อัปเดตได้ ซึ่งหมายความว่าจะได้รับการอัปเดตฟังก์ชันการทำงานนอกรอบการเผยแพร่ Android ปกติ

ประโยชน์ของการแยก NNAPI Runtime ออกเป็นโมดูลมีดังนี้

  • ผู้ใช้ปลายทางจะได้รับความเข้ากันได้และความสอดคล้องที่ดีขึ้น

  • นักพัฒนาแพลตฟอร์มสามารถแพตช์ข้อบกพร่องในรันไทม์ NNAPI, ปรับปรุงการโต้ตอบรันไทม์ NNAPI กับไดรเวอร์ และติดตั้งใช้งานฟีเจอร์ใหม่ๆ ที่ปรับปรุงความสามารถ ความเสถียร ประสิทธิภาพ และประสิทธิภาพของ NNAPI

  • นักพัฒนาแอปจะได้รับการปรับปรุงความเข้ากันได้และประสิทธิภาพของแอปด้วยเคอร์เนล CPU ที่อัปเดตแล้ว

ขอบเขตของโมดูล

สำหรับ Android 12 ขึ้นไป เวอร์ชัน NNAPI HAL จะเปลี่ยนไปใช้ AIDL แทน HIDL

สำหรับ Android 11 และต่ำกว่า ขอบเขตของโมดูลรันไทม์ NNAPI คือ platform/frameworks/ml/nn:libneuralnetworks.so

รูปแบบโมดูล

โมดูลรันไทม์ NNAPI (com.android.neuralnetworks) อยู่ในรูปแบบ APEX และพร้อมใช้งานสำหรับอุปกรณ์ที่ใช้ Android 11 ขึ้นไป

ทรัพยากร Dependency ของโมดูล

โมดูลรันไทม์ NNAPI นี้ขึ้นอยู่กับ NNAPI HAL และ AHardwareBuffer

การทดสอบ

หากต้องการยืนยันฟังก์ชันการทำงานของโมดูลรันไทม์ NNAPI ให้ใช้การทดสอบชุดเครื่องมือทดสอบความเข้ากันได้ (CTS) และชุดทดสอบของผู้ให้บริการ (VTS) ของ Android