Domyślnie wszystkie funkcje ML Kit korzystają z modeli uczenia maszynowego wytrenowanych przez Google (tzw. modeli podstawowych). Ten przewodnik dotyczy tylko modeli podstawowych. Tutaj znajdziesz wskazówki dotyczące modeli niestandardowych.
Modele w interfejsach API ML Kit można zainstalować na 3 sposoby:
- Niezależnie: modele są pobierane i zarządzane za pomocą Usług Google Play.
- W pakiecie: modele są statycznie połączone z aplikacją podczas kompilacji.
- 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:
| Niezależnie | W pakiecie | Pobierane dynamicznie | |
| Rozpoznawanie tekstu w wersji 2 | ✅ | ✅ | |
| Wykrywanie twarzy | ✅ | ✅ | |
| Wykrywanie siatki twarzy | ✅ | ||
| Wykrywanie pozycji | ✅ | ||
| Segmentacja selfie | ✅ | ||
| Skanowanie kodów kreskowych | ✅ | ✅ | |
| Oznaczanie obrazów etykietami | ✅ | ✅ | |
| Wykrywanie i śledzenie obiektów | ✅ | ||
| Rozpoznawanie pisma odręcznego | ✅ | ||
| Skaner dokumentów | ✅ | ||
| Segmentacja obiektu | ✅ | ||
| Skaner kodów Google | ✅ | ||
| Rozpoznawanie języka | ✅ | ✅ | |
| Tłumaczenie | ✅ | ||
| Inteligentna odpowiedź | ✅ | ✅ | |
| Ekstrakcja encji | ✅ |
Przewodniki dotyczące interfejsów API pokazują, które opcje instalacji są dostępne w przypadku danego interfejsu API.
Główne różnice między opcjami instalacji
| Niezależnie | W pakiecie | Pobierane dynamicznie | |
| Gdzie są przechowywane modele? | Znajdują się w Usługach Google Play i nie są wliczane do miejsca na dane używanego przez tę aplikację. | Po instalacji są zapisywane w miejscu na dane aplikacji . | Po pobraniu modelu są zapisywane w miejscu na dane aplikacji . |
| 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 miejsce na dane aplikacji |
| 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 muszą zostać pobrane przed użyciem. | Wszystkie modele i funkcje są uwzględniane podczas instalacji aplikacji, więc można ich używać od razu. | Pobieranie, aktualizowanie i usuwanie modeli musi być zarządzane ręcznie za pomocą interfejsu API RemoteModelManager . |
| Kiedy modele są usuwane z urządzenia? | Usługi Google Play usuną model z miejsca na dane tylko wtedy, gdy wszystkie aplikacje które z niego korzystają, zostaną odinstalowane. | Modele są usuwane z miejsca na dane aplikacji po jej odinstalowaniu. | Pobrane modele są usuwane z miejsca na dane aplikacji po jej odinstalowaniu. |
Jak wybrać między opcją „w pakiecie” a „niezależnie”
Jeśli interfejs API obsługuje zarówno opcję „w pakiecie”, jak i „niezależnie”:
Jeśli priorytetem jest:
- pełna funkcjonalność od razu po zainstalowaniu aplikacji,
- funkcjonalność bez połączenia z siecią po zainstalowaniu aplikacji.
Jeśli priorytetem jest:
- mniejszy rozmiar aplikacji,
- automatyczne aktualizacje modeli przez Usługi Google Play.
Jak pobierać modele
Gdy używasz opcji modelu „niezależnie”, możesz określić, jak modele mają być pobierane na urządzenie:
Możesz włączyć pobieranie modeli podczas instalacji , dodając deklarację do pliku
AndroidManifest.xmlaplikacji. 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 wyraźne pobranie za pomocą interfejsu API ModuleInstallClient Usług Google Play.
Jeśli nie włączysz pobierania modeli podczas instalacji ani nie poprosisz o wyraźne pobranie, model zostanie pobrany przy pierwszym uruchomieniu funkcji. Do czasu zakończenia pobierania prośby o wnioskowanie będą kończyć się niepowodzeniem.
Jak aktualizować modele
Aby zaktualizować modele, gdy używasz opcji „w pakiecie” lub „pobierane dynamicznie”:
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 }Ponownie skompiluj aplikację.
Dlaczego niektóre interfejsy API oferują modele pobierane dynamicznie
Niektóre interfejsy API ML Kit mają zbyt wiele opcji modeli, aby je spakować. Na przykład rozpoznawanie pisma odręcznego obsługuje ponad 300 języków i nie zawsze jest konieczne umieszczanie wszystkich języków w funkcji podczas instalacji. 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 Digital ink recognition, tłumaczenia i ekstrakcji encji Entity extraction.