Percorsi di installazione dei modelli ML Kit su Android

Per impostazione predefinita, tutte le funzionalità di ML Kit utilizzano modelli di machine learning addestrati da Google (noti come modelli di base). Questa guida è applicabile solo ai modelli di base. Leggi qui per indicazioni sui modelli personalizzati.

I modelli nelle API ML Kit possono essere installati in tre modi:

  1. Non in bundle: i modelli vengono scaricati e gestiti tramite Google Play Services.
  2. In bundle: i modelli sono collegati staticamente alla tua app in fase di compilazione.
  3. Scaricati dinamicamente: i modelli vengono scaricati on demand.

Percorsi di installazione supportati per ogni API

La tabella seguente mostra i percorsi di installazione dei modelli supportati da ogni funzionalità di ML Kit:

Non in bundle In bundle Scaricati dinamicamente
Riconoscimento del testo v2
Rilevamento dei volti
Rilevamento della mesh del volto
Rilevamento della posa
Segmentazione selfie
Scansione di codici a barre
Etichettatura delle immagini
Rilevamento e monitoraggio degli oggetti
Riconoscimento dell'inchiostro digitale
Scanner di documenti
Segmentazione dei soggetti
Scanner di codici Google
Identificazione della lingua
Traduzioni
Risposta rapida
Estrazione di entità

Le guide specifiche per le API mostrano le opzioni di installazione disponibili per la determinata API.

Differenze principali tra le opzioni di installazione

Non in bundle In bundle Scaricati dinamicamente
Dove vengono memorizzati i modelli? Si trova in Google Play Services e non viene conteggiato nello spazio di archiviazione utilizzato da questa app Salvato nello spazio di archiviazione specifico dell'app dopo l'installazione Salvato nello spazio di archiviazione specifico dell'app dopo il download del modello
In che modo le dimensioni del modello influiscono sulle dimensioni dell'app? Non contribuisce alle dimensioni dell'app Contribuisce direttamente alle dimensioni dell'app Non contribuisce alle dimensioni dell'app, ma aumenta lo spazio di archiviazione specifico dell'app
Quando vengono aggiornati i modelli? Aggiornato automaticamente quando viene rilasciata una versione più recente È necessario aggiornare l'app per aggiornare il modello È necessario aggiornare l'app per aggiornare il modello
Quando vengono scaricati i modelli? I modelli devono essere scaricati prima dell'uso Tutti i modelli e le funzionalità sono inclusi quando l'app viene installata, quindi sono utilizzabili immediatamente I download, gli aggiornamenti e le eliminazioni dei modelli devono essere gestiti manualmente utilizzando l'RemoteModelManager RemoteModelManager
Quando vengono rimossi i modelli dal dispositivo? Google Play Services rimuoverà il modello dallo spazio di archiviazione solo se tutte le app che dipendono dal modello vengono disinstallate I modelli vengono rimossi dallo spazio di archiviazione specifico dell'app quando l'app viene disinstallata I modelli scaricati vengono rimossi dallo spazio di archiviazione specifico dell'app quando l'app viene disinstallata

Come scegliere tra in bundle e non in bundle

Se un'API supporta sia l'opzione di installazione in bundle sia quella non in bundle:

  • Utilizza l'opzione in bundle se dai la priorità a:

    • Funzionalità completa immediatamente dopo l'installazione dell'app
    • Funzionalità senza connessione di rete dopo l'installazione dell'app
  • Utilizza l'opzione non in bundle se dai la priorità a:

    • Dimensioni dell'app più piccole
    • Aggiornamenti automatici dei modelli da parte di Google Play Services

Come scaricare i modelli

Quando utilizzi l'opzione del modello non in bundle, puoi specificare come vuoi che i modelli vengano scaricati sul dispositivo:

  • Puoi attivare i download dei modelli in fase di installazione aggiungendo una dichiarazione al file AndroidManifest.xml dell'app. Ad esempio, lo snippet di codice riportato di seguito mostra come configurare l'app per scaricare automaticamente il modello di scansione di codici a barre dopo l'installazione dell'app dal Play Store:

    <application ...>
          ...
          <meta-data
              android:name="com.google.mlkit.vision.DEPENDENCIES"
              android:value="barcode" >
          <!-- To use multiple models: android:value="barcode,model2,model3" -->
    </application>
    
  • Puoi richiedere il download esplicito tramite l'API ModuleInstallClient di Google Play Services.

  • Se non attivi i download dei modelli in fase di installazione o non richiedi il download esplicito, il modello verrà scaricato la prima volta che esegui la funzionalità. Fino al completamento del download, le richieste di inferenza non andranno a buon fine.

Come aggiornare i modelli

Per aggiornare i modelli quando utilizzi l'opzione dei modelli in bundle o dei modelli scaricati dinamicamente:

  1. Aggiorna il file Gradle dell'app per utilizzare la libreria client della funzionalità ML Kit più recente.

    dependencies {
      implementation 'com.google.mlkit:barcode-scanning: 17.3.0' // The latest version number of the API
    }
    
  2. Ricompila l'app.

Perché alcune API offrono modelli scaricati dinamicamente

Alcune API ML Kit hanno troppe opzioni di modelli da includere in bundle. Ad esempio, il riconoscimento dell'inchiostro digitale supporta più di 300 lingue e non è sempre necessario inserire ogni lingua nella funzionalità durante l'installazione. A questo scopo, forniamo la terza opzione di installazione, in cui i modelli vengono scaricati on demand dopo l'installazione. Al momento, solo il riconoscimento dell'inchiostro digitale, le traduzioni e l'estrazione di entità hanno questa opzione.