Cihaz bulma ve atama

Android 10'da Neural Networks API (NNAPI), makine öğrenimi çerçeve kitaplıklarının ve uygulamalarının mevcut cihazlar hakkında bilgi almasına ve bir modelin hangi cihazlarda çalışacağını belirtmesine olanak tanıyan işlevler sunar. Mevcut cihazlar hakkında bilgi sağlamak, bilinen uyumsuzlukları önlemek için uygulamaların cihazda bulunan sürücülerin tam sürümünü almasına olanak tanır. Uygulamalara, bir modelin farklı bölümlerinin hangi cihazlarda çalışacağını belirtme olanağı sunarak uygulamaları dağıtıldıkları ürün için optimize edebilirsiniz.

NN HAL 1.2 uygulamaları için cihaz keşfi ve atama desteği gereklidir.

Uygulama

NNAPI'deki cihaz keşfi ve atama özelliklerini desteklemek için çerçevenin cihaz türünü ve sürücü sürümünü almasına izin vermek üzere IDevice.hal içinde getType ve getVersionString uygulayın.

Her cihaz için türü, types.hal bölümündeki DeviceType bölümünde belirtildiği gibi aşağıdaki kategorilerden biri olarak belirtin.

  • OTHER: Muhtemelen farklı türde birden fazla cihazı yöneten tek bir IDevicearayüzü olan heterojen arayüz de dahil olmak üzere diğer kategorilerin hiçbirine girmeyen bir cihaz. Heterojen bir arayüze sahip sürücü, uygulamanın bu cihazlar arasından seçim yapmasına izin vermek için ayrı cihazlara karşılık gelen ayrı IDevice arayüzleri de sunmalıdır.
  • CPU: Tek çekirdekli veya çok çekirdekli CPU.
  • GPU: NNAPI modellerini çalıştırabilen ve OpenGL ES ile Vulkan gibi grafik API'lerini hızlandırabilen bir GPU.
  • ACCELERATOR: Özel bir sinir işlem birimi (NPU).

Cihaz uygulama sürüm dizesini almak için IDevice.hal içinde getVersionString uygulayın. Bu yöntem, kullanıcıların okuyabileceği bir dize döndürmelidir. Dizenin biçimi satıcıya özgüdür. Sürüm dizesi, sürücünün her yeni sürümü için farklı olmalıdır.

IDevice arayüzünün adı {VENDOR}-{DEVICE_NAME} biçimine uygun olmalıdır.