แนวทางปฏิบัติแนะนำในการใช้งานไดรเวอร์ NNAPI

หน้านี้จะอธิบายถึงแนวทางปฏิบัติแนะนำในการใช้ Neural Networks API (NNAPI) เพื่อให้นักพัฒนาแอปใช้ NNAPI ในวงกว้าง

ทำให้การเริ่มต้นระบบใช้เวลาสั้น

หากคนขับเปลี่ยนน้ำหนักของโมเดลในการใช้งานครั้งแรก ไดรเวอร์รองรับการแคชการคอมไพล์ ซึ่งช่วยลดเวลาที่ใช้ในการคอมไพล์ เมื่อแอปเริ่มทำงาน ขั้นตอนนี้สำคัญเนื่องจากแอปอาจหลีกเลี่ยงการใช้ฮาร์ดแวร์ การเร่งความเร็วหากเวลาเริ่มต้นนานเกินไป ตัวอย่างเช่น แอปบางแอปมี น้ำหนักมากกว่า 100 MB และทำการเปลี่ยนแปลงเหล่านี้ทุกครั้งที่แอป การเปิดตัวนั้นสิ้นเปลืองทรัพยากร

ลดเวลาในการตอบสนองให้น้อยที่สุด

เพื่อให้โมเดลใช้การเร่งฮาร์ดแวร์ คุณควรลด เวลาในการตอบสนองที่น้อยที่สุดในไดรเวอร์ แอปจำนวนมากใช้โมเดลขนาดเล็กที่ดำเนินการ หลายครั้ง และหากเวลาในการตอบสนองต่ำที่สุดในการดำเนินการภาระงานสูงเกินไป เช่น 2-3 มิลลิวินาที โมเดลอาจเรียกใช้ภาระงานบน CPU ใช้เวลา 1 หรือ 2 มิลลิวินาที โดยใช้การเร่งฮาร์ดแวร์ โปรดระวังการซิงค์ชุดข้อความที่มีค่าใช้จ่ายสูง

ใช้กลุ่ม NN HAL SchedTune

สำหรับ Android 11 ขึ้นไป AOSP มี NN HAL SchedTune ที่อนุญาตให้กระบวนการ NN HAL ระหว่างโปรเซสใช้ ซึ่งคล้ายกับการใช้งานกระบวนการเดียวกันภายใน top-app cgroup การใช้ กลุ่ม SchedTune ช่วยลดค่าใช้จ่ายของผู้ขับ โดยเฉพาะสำหรับรถรุ่นขนาดเล็ก

หากต้องการใช้กลุ่ม SchedTune ให้เพิ่มบรรทัดต่อไปนี้ลงในไฟล์ init.rc ของ กระบวนการ NN HAL มีดังนี้

writepid /dev/stune/nnapi-hal/tasks