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. Bằng cách cho phép các ứng dụng chỉ định những thiết bị sẽ thực thi các 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à các ứng dụng đó được triển khai.
Bạn cần phải hỗ trợ việc khám phá và chỉ định thiết bị cho việc 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 lấy thông tin về 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 kiểu 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 các thiết bị riêng lẻ để cho phép một ứng dụng chọn trong số các thiết bị đó.CPU
: CPU đơn lõi hoặc đa lõi.GPU
: Một 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ý nơron chuyên dụng (NPU).
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 còn tuỳ thuộc vào nhà cung cấp cụ thể. 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}
.