Przewodnik po migracji

3 czerwca 2020 r. wprowadziliśmy kilka zmian w ML Kit for Firebase. Pozwoli to lepiej odróżniać interfejsy API na urządzeniu od interfejsów działających w chmurze. Bieżący zestaw interfejsów API jest teraz podzielony na dwie usługi:

  • Nowa usługa o nazwie ML Kit, która będzie zawierać wszystkie interfejsy API na urządzeniu

  • Systemy uczące się Firebase skupiają się na interfejsach API działających w chmurze i wdrożeniu modeli niestandardowych.

Ta zmiana ułatwi też integrację ML Kit z aplikacją tylko wtedy, gdy potrzebujesz rozwiązania na urządzeniu. Ten dokument wyjaśnia, jak przenieść aplikację z pakietu SDK Firebase ML Kit do nowego pakietu ML Kit.

Co się zmienia?

Podstawowe interfejsy API na urządzeniu

Te interfejsy API zostały przeniesione do nowego, niezależnego pakietu ML Kit.

  • Skanowanie kodów kreskowych
  • Wykrywanie twarzy
  • Dodawanie etykiet do obrazów
  • Wykrywanie i śledzenie obiektów
  • Rozpoznawanie tekstu
  • Identyfikator języka
  • Inteligentna odpowiedź
  • Przetłumacz
  • Interfejs API wnioskowania na platformie AutoML Vision Edge

Dotychczasowe podstawowe interfejsy API na urządzeniu w pakiecie ML Kit dla Firebase zostały wycofane i nie będą już otrzymywać aktualizacji.

Jeśli korzystasz już z tych interfejsów API w swojej aplikacji, przejdź na nowy pakiet SDK ML Kit, postępując zgodnie z przewodnikiem po migracji ML Kit na Androida i przewodnikiem po migracji dla ML Kit na iOS.

Interfejsy API modelu niestandardowego

Do pobierania modeli hostowanych w Firebase dostępny jest nadal mechanizm pobierania niestandardowych modeli za pomocą pakietu Firebase ML SDK. Pakiet SDK pobiera najnowszy dostępny model i przekazuje go do osobnego środowiska wykonawczego TensorFlow Lite, aby umożliwić wnioskowanie.

Dotychczasowy interpretator modeli niestandardowych w pakiecie ML Kit dla Firebase został wycofany i nie będzie już aktualizowany. Aby wywnioskować wyniki, zalecamy bezpośrednie uruchamianie środowiska wykonawczego TensorFlow Lite. Jeśli chcesz używać tylko modeli niestandardowych do oznaczania obrazów oraz interfejsów API wykrywania i śledzenia obiektów, możesz teraz bezpośrednio w ML Kit używać interfejsów API bezpośrednio.

Szczegółowe instrukcje znajdziesz w przewodnikach po migracji na Androida i iOS.

Co się nie zmieniło?

Interfejsy API i usługi działające w chmurze będą nadal obsługiwane za pomocą systemów uczących się Firebase:

  • Interfejsy API tagowania obrazów w chmurze, rozpoznawania tekstu i rozpoznawania punktów orientacyjnych są nadal dostępne za pomocą pakietu Firebase ML SDK.

  • Systemy uczące się Firebase nadal będą oferować wdrożenie modelu.

Najczęstsze pytania

Dlaczego ta zmiana?

Wprowadzamy tę zmianę, aby doprecyzować, jakie rozwiązania oferuje ten produkt. Po wprowadzeniu tej zmiany nowy pakiet ML Kit będzie w pełni skoncentrowany na systemach uczących się na urządzeniu, gdzie wszystkie dane są przetwarzane na urządzeniu. Jest on dostępny bezpłatnie dla deweloperów. Usługi w chmurze, które były wcześniej dostępne w Firebase ML Kit, pozostaną dostępne w ML ML Kit. Nadal możesz ich używać w połączeniu z interfejsami ML Kit API.

W przypadku interfejsów API na urządzeniu nowy pakiet SDK ML Kit ułatwia programistom integrację ML Kit z aplikacją. W przyszłości wystarczy dodać zależności do projektu aplikacji i zacząć używać interfejsu API. Aby używać interfejsów API na urządzeniu, nie trzeba konfigurować projektu Firebase.

Co się dzieje z moimi modelami hostowanymi w Firebase?

Systemy uczące się Firebase będą nadal obsługiwać Twoje modele. Ta funkcja się nie zmienia. Oto kilka ulepszeń:

  • Możesz teraz wdrażać swoje modele w Firebase za pomocą pakietów SDK Pythona lub węzłów.

  • Teraz możesz używać pakietu SDK ML Firebase w połączeniu z środowiskiem wykonawczym TensorFlow Lite. Pakiet SDK Firebase pobiera model na urządzenie, a środowisko wykonawcze TensorFlow Lite wykonuje wnioskowanie. Dzięki temu możesz łatwo wybrać preferowaną wersję środowiska wykonawczego, w tym kompilację niestandardową.

Jakie są korzyści z przejścia na nowy pakiet ML Kit?

Przejście na nowy pakiet SDK daje pewność, że w aplikacjach pojawią się najnowsze poprawki i ulepszenia interfejsów API na urządzeniu. Oto kilka zmian, które wprowadziliśmy w pierwszej wersji:

  • Możesz teraz korzystać z nowych interfejsów API niestandardowych etykiet obrazów i wykrywania obiektów oraz śledzenia, aby łatwo integrować niestandardowe modele klasyfikacji obrazów w aplikacjach i tworzyć interaktywne funkcje działające w czasie rzeczywistym.

  • Do wszystkich interfejsów API zostaje dodana obsługa cyklu życia Androida Jetpack. Za pomocą addObserver możesz teraz automatycznie zarządzać inicjowaniem i usuwaniem interfejsów API ML Kit, gdy aplikacja przechodzi przez obrót ekranu lub zamyka go przez użytkownika / system. Ułatwia to integrację z aparatem X.

Pełną listę najnowszych zmian znajdziesz w informacjach o wersji pakietu SDK ML Kit.

Korzystam dziś z ML Kit dla Firebase. Kiedy muszę przeprowadzić migrację?

Zależy to od interfejsów API ML Kit dla Firebase, których używasz obecnie w swojej aplikacji.

  • Podstawowe interfejsy API na urządzeniu z pakietu ML Kit dla Firebase będą nadal działać w najbliższej przyszłości. Opóźnienie przy przejściu na nowy pakiet SDK ML Kit nie przyniesie Ci jednak żadnych nowych funkcji ani aktualizacji. Poza tym po zaktualizowaniu innych komponentów w aplikacji mogą wystąpić konflikty zależności. Może się tak zdarzyć, gdy niektóre inne zależności (bezpośrednio lub pośrednie) są starsze niż te, które były dostępne w starym pakiecie ML Kit dla Firebase. Biblioteki, których może to dotyczyć, to OkHttp i firebase-common.

  • Jeśli korzystasz z interfejsów Cloud APIs za pomocą pakietu SDK ML Kit dla Firebase, nie musisz na razie wprowadzać żadnych zmian.

  • Jeśli używasz wdrożenia modelu niestandardowego, zalecamy przejście na najnowszą wersję, która umożliwia uruchamianie wnioskowania bezpośrednio w środowisku TensorFlow Lite.