Khám phá và chỉ định thiết bị

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 getTypegetVersionString 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ện IDevice 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ện IDevice 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}.