แนวทางปฏิบัติแนะนำในการใช้งานไดรเวอร์ 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