Trong Android 10, Neural Networks API (NNAPI) giới thiệu các hàm cho phép các ứng dụng và thư viện của khung máy học lấy thông tin về các thiết bị có sẵn và chỉ định thiết bị nào sẽ thực thi mô hình. Việc cung cấp thông tin về các thiết bị có sẵn cho phép các ứng dụng biết được phiên bản chính xác của các trình điều khiển có trên thiết bị để tránh các trường hợp không tương thích đã biết. Nhờ được phép chỉ định những thiết bị sẽ thực thi những phần khác nhau của một mô hình, các ứng dụng có thể được tối ưu hoá cho sản phẩm mà ứng dụng được triển khai.
Bạn cần hỗ trợ tính năng khám phá và chỉ định thiết bị để triển khai NN HAL 1.2.
Triển khai
Để hỗ trợ các tính năng khám phá và chỉ định thiết bị trong NNAPI, hãy triển khai getType
và getVersionString
trong IDevice.hal
để cho phép khung này nhận loại thiết bị và phiên bản trình điều khiển.
Đối với mỗi thiết bị, hãy chỉ định loại thiết bị là một trong các danh mục sau như được chỉ định trong DeviceType
trong types.hal
.
OTHER
: Một thiết bị không thuộc bất kỳ danh mục nào khác, bao gồm cả giao diện không đồng nhất, đó là một giao diệnIDevice
duy nhất quản lý nhiều thiết bị, có thể thuộc nhiều loại. Trình điều khiển có giao diện không đồng nhất cũng phải hiển thị các giao diệnIDevice
riêng biệt tương ứng với từng thiết bị để cho phép ứng dụng chọn trong số các thiết bị đó.CPU
: CPU đơn nhân hoặc đa nhân.GPU
: GPU có thể chạy các mô hình NNAPI và tăng tốc các API đồ hoạ như OpenGL ES và Vulkan.ACCELERATOR
: Một đơn vị xử lý thần kinh (NPU) chuyên dụng.
Triển khai getVersionString
trong IDevice.hal
để lấy chuỗi phiên bản của quá trình triển khai thiết bị.
Phương thức này phải trả về một chuỗi mà con người có thể đọc được. Định dạng của chuỗi là tuỳ theo nhà cung cấp. Chuỗi phiên bản phải khác nhau đối với từng phiên bản trình điều khiển mới.
Tên của giao diện IDevice
phải tuân theo định dạng {VENDOR}-{DEVICE_NAME}
.