Android'de ML Kiti model yükleme yolları

Tüm ML Kiti özellikleri, varsayılan olarak Google tarafından eğitilmiş makine öğrenimi modellerini (temel modeller olarak bilinir) kullanır. Bu kılavuz yalnızca temel modeller için geçerlidir. Özel modellerle ilgili yardım için buraya göz atın.

ML Kit API'lerindeki modeller üç şekilde yüklenebilir:

  1. Paket dışı: Modeller, Google Play Hizmetleri aracılığıyla indirilir ve yönetilir.
  2. Paket halinde: Modeller, derleme sırasında uygulamanıza statik olarak bağlanır.
  3. Dinamik olarak indirilenler: Modeller, istek üzerine indirilir.

Her API için desteklenen yükleme yolları

Aşağıdaki tabloda, her ML Kit özelliğinin desteklediği model yükleme yolları gösterilmektedir:

Paket dışı Paket halinde Dinamik olarak indirilen
Metin tanıma v2 ✅ ✅
Yüz algılama ✅ ✅
Yüz ağı algılama ✅
Duruş algılama ✅
Selfie segmentasyonu ✅
Barkod tarama ✅ ✅
Resim etiketleme ✅ ✅
Nesne algılama ve izleme ✅
Dijital mürekkep tanıma ✅
Belge Tarayıcı ✅
Özne segmentasyonu ✅
Google kod tarayıcı ✅
Dil tanımlama ✅ ✅
Translation ✅
Akıllı Yanıt ✅ ✅
Varlık Çıkarma ✅

API'ye özel kılavuzlar, söz konusu API için hangi yükleme seçeneklerinin kullanılabildiğini gösterir.

Yükleme seçenekleri arasındaki temel farklar

Paket dışı Paket halinde Dinamik olarak indirilen
Modeller nerede depolanır? Google Play Hizmetleri'nde bulunur ve bu uygulamanın kullandığı depolama alanına dahil edilmez. Yüklemeden sonra uygulamaya özel depolama alanına kaydedilir. Model indirildikten sonra uygulamaya özel depolama alanına kaydedilir.
Model boyutu, uygulama boyutunu nasıl etkiler? Uygulama boyutuna katkıda bulunmaz Uygulama boyutuna doğrudan katkıda bulunur. Uygulama boyutuna katkıda bulunmaz ancak uygulamaya özel depolama alanını artırır.
Modeller ne zaman güncellenir? Daha yeni bir sürüm yayınlandığında otomatik olarak güncellenir Modeli güncellemek için uygulamayı güncellemeniz gerekir Modeli güncellemek için uygulamayı güncellemeniz gerekir
Modeller ne zaman indirilir? Modeller kullanılmadan önce indirilmelidir Uygulama yüklendiğinde tüm modeller ve özellikler dahil edilir. Bu sayede hemen kullanılabilirler. Model indirme, güncelleme ve silme işlemleri, RemoteModelManager API kullanılarak manuel olarak yönetilmelidir.
Modeller cihazdan ne zaman kaldırılır? Google Play Hizmetleri, modeli yalnızca modele bağlı tüm uygulamalar kaldırılırsa depolama alanından kaldırır. Uygulama kaldırıldığında modeller uygulamaya özel depolama alanından kaldırılır. İndirilen modeller, uygulama kaldırıldığında uygulamaya özel depolama alanından kaldırılır.

Paket halinde ve ayrı ayrı sunulan seçenekler arasında seçim yapma

Bir API hem paket halinde hem de paket halinde olmayan yükleme seçeneklerini destekliyorsa:

  • Aşağıdakilere öncelik veriyorsanız paket seçeneğini kullanın:

    • Uygulama yüklendikten hemen sonra tüm özellikler kullanılabilir
    • Uygulama yüklendikten sonra ağ bağlantısı olmadan özellik işlevselliği
  • Aşağıdakilere öncelik veriyorsanız ayrı seçeneğini kullanın:

    • Daha küçük uygulama boyutu
    • Google Play Hizmetleri tarafından otomatik model güncellemeleri

Modelleri indirme

Paketlenmemiş model seçeneğini kullanırken modellerin cihaza nasıl indirilmesini istediğinizi belirtebilirsiniz:

  • Uygulamanızın AndroidManifest.xml dosyasına bir beyan ekleyerek yükleme sırasında model indirme özelliğini etkinleştirebilirsiniz. Örneğin, aşağıdaki kod snippet'i, uygulamanızı Play Store'dan yüklendikten sonra Barkod Tarama modelini otomatik olarak indirecek şekilde nasıl yapılandıracağınızı gösterir:

    <application ...>
          ...
          <meta-data
              android:name="com.google.mlkit.vision.DEPENDENCIES"
              android:value="barcode" >
          <!-- To use multiple models: android:value="barcode,model2,model3" -->
    </application>
    
  • Google Play Hizmetleri ModuleInstallClient API aracılığıyla açık indirme isteğinde bulunabilirsiniz.

  • Yükleme sırasında model indirmeyi etkinleştirmez veya açıkça indirme isteğinde bulunmazsanız model, özelliği ilk kez çalıştırdığınızda indirilir. İndirme işlemi tamamlanana kadar çıkarım istekleri başarısız olur.

Modelleri güncelleme

Paket model veya dinamik olarak indirilen modeller seçeneğini kullanırken modellerinizi güncellemek için:

  1. Uygulamanızın gradle dosyasını en son ML Kiti özellik istemci kitaplığını kullanacak şekilde güncelleyin.

    dependencies {
      implementation 'com.google.mlkit:barcode-scanning: 17.3.0' // The latest version number of the API
    }
    
  2. Uygulamanızı yeniden derleyin.

Bazı API'lerin dinamik olarak indirilen modeller sunma nedeni

Bazı ML Kit API'lerinde paketlenecek çok fazla model seçeneği vardır. Örneğin, dijital mürekkep tanıma özelliği 300'den fazla dili destekler ve yükleme sırasında her dilin özelliğe eklenmesi her zaman gerekli değildir. Bu nedenle, modellerin yükleme işleminden sonra isteğe bağlı olarak indirildiği üçüncü yükleme seçeneğini sunuyoruz. Şu anda yalnızca Dijital mürekkep tanıma, Çeviri ve Varlık çıkarma özelliklerinde bu seçenek bulunur.