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:
- Non in bundle: i modelli vengono scaricati e gestiti tramite Google Play Services.
- In bundle: i modelli sono collegati staticamente alla tua app in fase di compilazione.
- 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.xmldell'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:
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 }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.