Installationspfade für ML Kit-Modelle unter Android

Alle ML Kit-Features verwenden standardmäßig von Google trainierte ML-Modelle (Basismodelle). Dieser Leitfaden gilt nur für Basismodelle. Hier finden Sie eine Anleitung für benutzerdefinierte Modelle.

Sie können Modelle in ML Kit-APIs auf drei Arten installieren:

  1. Nicht gebündelt:Modelle werden über die Google Play-Dienste heruntergeladen und verwaltet.
  2. Set:Modelle werden bei der Erstellung statisch mit Ihrer App verknüpft.
  3. Dynamisch heruntergeladen:Modelle werden on demand heruntergeladen.

Unterstützte Installationspfade für jede API

Die folgende Tabelle zeigt, welche Installationspfade von Modellen von jedem ML Kit-Feature unterstützt werden:

Nicht gebündelt Set Dynamisch heruntergeladen
Texterkennung v2
Gesichtserkennung
Gesichtsnetzerkennung
Poseerkennung
Selfiesegmentierung
Barcode-Scan
Bildlabels
Objekterkennung und -tracking
Digitale Tintenerkennung
Google Code-Scanner
Spracherkennung
Translation
Intelligente Antwort
Entitätsextraktion

API-spezifische Leitfäden zeigen, welche Installationsoptionen für die jeweilige API verfügbar sind.

Die wichtigsten Unterschiede zwischen den Installationsoptionen

Nicht gebündelt Set Dynamisch heruntergeladen
Wo werden Modelle gespeichert? Befindet sich in den Google Play-Diensten und wird nicht auf den von dieser App verwendeten Speicher angerechnet Nach der Installation in app-spezifischem Speicher gespeichert Nach dem Download des Modells in app-spezifischem Speicher gespeichert
Wie wirkt sich die Modellgröße auf die App-Größe aus? Nicht zur App-Größe beitragen Trägt direkt zur App-Größe bei Trägt direkt zur App-Größe bei
Wann werden Modelle aktualisiert? Wird automatisch aktualisiert, wenn eine neuere Version veröffentlicht wird App muss aktualisiert werden, um Modell zu aktualisieren App muss aktualisiert werden, um Modell zu aktualisieren
Wann werden Modelle heruntergeladen? Modelle müssen vor der Verwendung heruntergeladen werden Alle Modelle und Funktionen sind enthalten, wenn die App installiert wird, und können daher sofort verwendet werden. Modelldownloads, -updates und -löschungen müssen manuell mit der RemoteModelManager API verwaltet werden
Wann werden Modelle vom Gerät entfernt? Google Play-Dienste entfernen das Modell nur aus dem Speicher, wenn alle vom Modell abhängigen Apps deinstalliert werden Modelle werden aus dem app-spezifischen Speicher entfernt, wenn die App deinstalliert wird Heruntergeladene Modelle werden bei der Deinstallation der App aus dem app-spezifischen Speicher entfernt

Gebündelt oder nicht gebündelt auswählen

Wenn eine API sowohl die gebündelte als auch die gebündelte Installation unterstützt:

  • Sie sollten diese Option verwenden, wenn Sie Folgendes priorisieren:

    • Funktionsfunktionen direkt nach Installation der App implementieren
    • Funktionen ohne Netzwerkverbindung nach Installation der App
  • Verwenden Sie die Option als entbündelt, wenn Sie Folgendes priorisieren:

    • Kleinere App-Größe
    • Automatische Modellaktualisierungen durch Google Play-Dienste

Modelle herunterladen

Bei Verwendung der Option „Entbündeltes Modell“ können Sie angeben, wie Modelle auf das Gerät heruntergeladen werden sollen:

  • Sie können Modelldownloads mit Installationszeit aktivieren, indem Sie der Datei AndroidManifest.xml Ihrer App eine Deklaration hinzufügen. Das folgende Code-Snippet zeigt beispielsweise, wie Sie Ihre App so konfigurieren, dass das Barcode Scanning-Modell nach der Installation Ihrer App automatisch aus dem Play Store heruntergeladen wird:

    <application ...>
          ...
          <meta-data
              android:name="com.google.mlkit.vision.DEPENDENCIES"
              android:value="barcode" >
          <!-- To use multiple models: android:value="barcode,model2,model3" -->
    </application>
    
  • Sie können einen expliziten Download über die ModuleInstallClient API der Google Play-Dienste anfordern.

  • Wenn Sie das Herunterladen des Modells während der Installation nicht aktivieren oder einen expliziten Download anfordern, wird das Modell beim ersten Ausführen des Features heruntergeladen. Inferenzanfragen schlagen fehl, bis der Download abgeschlossen ist.

Modelle aktualisieren

So aktualisieren Sie Ihre Modelle, wenn Sie das gebündelte Modell oder die dynamisch heruntergeladenen Modelle verwenden:

  1. Aktualisieren Sie die Gradle-Datei Ihrer App, um die neueste ML Kit-Clientbibliothek zu verwenden.

    dependencies {
      implementation 'com.google.mlkit:barcode-scanning: 17.1.0' // The latest version number of the API
    }
    
  2. Erstellen Sie die Anwendung neu.

Warum einige APIs dynamisch heruntergeladene Modelle anbieten

Einige ML Kit-APIs haben zu viele Modelloptionen, die gebündelt werden können. Die digitale Tintenerkennung unterstützt beispielsweise mehr als 300 Sprachen und Sie müssen nicht immer jede Sprache in die Funktion einbinden. Zu diesem Zweck bieten wir die dritte Installationsoption an, bei der Modelle nach der Installation on demand heruntergeladen werden. Diese Option ist derzeit nur für Digitale Tintenerkennung, Übersetzung und Entitätsextraktion verfügbar.