รันไทม์ NNAPI

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

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

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

  • นักพัฒนาแพลตฟอร์มสามารถแก้ไขข้อบกพร่องในรันไทม์ 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