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 birIDevice
arayü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.