Ścieżki instalacji modelu ML Kit na Androidzie

Wszystkie funkcje ML Kit domyślnie korzystają z modeli uczenia maszynowego wytrenowanych przez Google (nazywanych modelami podstawowymi). Ten przewodnik dotyczy tylko modeli podstawowych. Tutaj znajdziesz wskazówki dotyczące modeli niestandardowych.

Modele w interfejsach API ML Kit można instalować na 3 sposoby:

  1. Rozpakowane: modele są pobierane i zarządzane za pomocą Usług Google Play.
  2. W pakiecie: modele są statycznie połączone z aplikacją w momencie kompilacji.
  3. Pobierane dynamicznie: modele są pobierane na żądanie.

Obsługiwane ścieżki instalacji dla każdego interfejsu API

W tabeli poniżej przedstawiono, które ścieżki instalacji modelu są obsługiwane przez poszczególne funkcje ML Kit:

Unbundled W pakiecie Pobierane dynamicznie
Rozpoznawanie tekstu w wersji 2 ✅ ✅
Wykrywanie twarzy ✅ ✅
Wykrywanie siatki twarzy ✅
Wykrywanie pozycji ✅
Segmentacja selfie ✅
Skanowanie kodów kreskowych ✅ ✅
Dodawanie etykiet do obrazów ✅ ✅
Wykrywanie i śledzenie obiektów ✅
Rozpoznawanie pisma odręcznego ✅
Skaner dokumentów ✅
Segmentacja obiektów ✅
Skaner kodów Google ✅
Identyfikacja języka ✅ ✅
Tłumaczenie ✅
Inteligentna odpowiedź ✅ ✅
Ekstrakcja fragmentów ✅

Przewodniki dotyczące konkretnych interfejsów API pokazują, jakie opcje instalacji są dostępne dla danego interfejsu API.

Najważniejsze różnice między opcjami instalacji

Unbundled Bundled Dynamicznie pobierane
Gdzie są przechowywane modele? Znajduje się w usługach Google Play i nie wlicza się do miejsca na dane używanego przez tę aplikację Zapisywane w pamięci aplikacji po instalacji Zapisywane w miejscu na dane aplikacji po pobraniu modelu
Jak rozmiar modelu wpływa na rozmiar aplikacji? Nie wpływa na rozmiar aplikacji Bezpośrednio wpływa na rozmiar aplikacji Nie wpływa na rozmiar aplikacji, ale zwiększa ilość miejsca na dane przeznaczonego na aplikację.
Kiedy modele są aktualizowane? Automatycznie aktualizowane po wydaniu nowszej wersji Aby zaktualizować model, musisz zaktualizować aplikację Aby zaktualizować model, musisz zaktualizować aplikację
Kiedy modele są pobierane? Modele należy pobrać przed użyciem Wszystkie modele i funkcje są dostępne po zainstalowaniu aplikacji, więc można z nich od razu korzystać. Pobieraniem, aktualizowaniem i usuwaniem modeli trzeba zarządzać ręcznie za pomocą interfejsu API RemoteModelManager.
Kiedy modele są usuwane z urządzenia? Usługi Google Play usuną model z pamięci tylko wtedy, gdy wszystkie aplikacje, które od niego zależą, zostaną odinstalowane. Modele są usuwane z pamięci aplikacji po jej odinstalowaniu. Pobrane modele są usuwane z pamięci aplikacji po jej odinstalowaniu.

Jak wybrać między pakietem a oddzielnymi usługami

Jeśli interfejs API obsługuje zarówno opcje instalacji w pakiecie, jak i bez pakietu:

  • Wybierz opcję pakietu, jeśli priorytetem są dla Ciebie:

    • pełna funkcjonalność natychmiast po zainstalowaniu aplikacji;
    • Działanie funkcji bez połączenia sieciowego po zainstalowaniu aplikacji
  • Wybierz opcję bez pakietu, jeśli priorytetem są dla Ciebie:

    • mniejszy rozmiar aplikacji,
    • Automatyczne aktualizacje modeli przez Usługi Google Play

Jak pobrać modele

Jeśli używasz opcji modelu rozpakowanego, możesz określić, jak modele mają być pobierane na urządzenie:

  • Możesz włączyć pobieranie modelu podczas instalacji, dodając deklarację do pliku AndroidManifest.xml aplikacji. Na przykład poniższy fragment kodu pokazuje, jak skonfigurować aplikację, aby automatycznie pobierała model skanowania kodów kreskowych po zainstalowaniu aplikacji ze Sklepu Play:

    <application ...>
          ...
          <meta-data
              android:name="com.google.mlkit.vision.DEPENDENCIES"
              android:value="barcode" >
          <!-- To use multiple models: android:value="barcode,model2,model3" -->
    </application>
    
  • Możesz poprosić o pobranie bezpośrednie za pomocą interfejsu ModuleInstallClient API usług Google Play.

  • Jeśli nie włączysz pobierania modelu podczas instalacji ani nie poprosisz o pobranie, model zostanie pobrany przy pierwszym uruchomieniu funkcji. Dopóki pobieranie nie zostanie zakończone, żądania wnioskowania będą kończyć się niepowodzeniem.

Jak aktualizować modele

Aby zaktualizować modele, gdy używasz opcji modelu w pakiecie lub modeli pobieranych dynamicznie:

  1. Zaktualizuj plik gradle aplikacji, aby używać najnowszej biblioteki klienta funkcji ML Kit.

    dependencies {
      implementation 'com.google.mlkit:barcode-scanning: 17.3.0' // The latest version number of the API
    }
    
  2. Przebuduj aplikację.

Dlaczego niektóre interfejsy API oferują modele pobierane dynamicznie

Niektóre interfejsy API ML Kit mają zbyt wiele opcji modeli, aby można je było połączyć. Na przykład rozpoznawanie pisma odręcznego obsługuje ponad 300 języków i nie zawsze trzeba instalować wszystkie języki w ramach tej funkcji. W tym celu udostępniamy trzecią opcję instalacji, w której modele są pobierane na żądanie po instalacji. Obecnie ta opcja jest dostępna tylko w przypadku rozpoznawania pisma odręcznego, tłumaczenia i wyodrębniania encji.