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, uygulamaların bilinen uyumsuzlukları önlemek için cihazda bulunan sürücülerin tam sürümlerini almaları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 bulma 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
içindeki DeviceType
bölümünde belirtildiği şekilde 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. Arabirimi heterojen olan bir sürücü, uygulamanın bu cihazlardan seçim yapabilmesi için her bir cihaza karşılık gelen ayrıIDevice
arayüzlerini de göstermelidir.CPU
: Tek çekirdekli veya çok çekirdekli bir 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 uygulamasının 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 tedarikçiye ö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.