Przewodnik po migracji

3 czerwca 2020 r. wprowadziliśmy zmiany w ML Kit dla Firebase, aby lepiej odróżniać interfejsy API na urządzeniu od interfejsów API działających w chmurze. Obecny zestaw interfejsów API został podzielony na te 2 usługi:

  • nowy produkt o nazwie ML Kit, który będzie zawierał wszystkie interfejsy API działające na urządzeniu;

  • systemy uczące się Firebase, które koncentrują się na interfejsach API działających w chmurze i wdrażaniu modeli niestandardowych.

Ta zmiana ułatwi też integrację ML Kit z aplikacją, jeśli potrzebujesz tylko 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

Poniższe interfejsy API zostały przeniesione do nowego, samodzielnego pakietu SDK ML Kit.

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

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

Jeśli korzystasz 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 ML Kit dla iOS.

Interfejsy API modeli niestandardowych

W przypadku pobierania modeli hostowanych w Firebase narzędzie do pobierania modeli niestandardowych jest nadal dostępne za pomocą pakietu SDK Firebase ML. SDK pobiera najnowszy dostępny model i przekazuje go do osobnego środowiska wykonawczego TensorFlow Lite, aby wnioskować.

Dotychczasowy interpreter modelu niestandardowego w pakiecie SDK ML Kit dla Firebase został wycofany i nie będzie już otrzymywać aktualizacji. Do wnioskowania zalecamy bezpośrednie korzystanie ze środowiska wykonawczego TensorFlow Lite. Jeśli chcesz używać tylko modeli niestandardowych do oznaczania obrazów etykietami oraz interfejsów API do wykrywania i śledzenia obiektów, możesz teraz używać modeli niestandardowych bezpośrednio w tych interfejsach API w ML Kit.

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 oferowane z użyciem Firebase ML:

  • Działające w chmurze interfejsy API do oznaczania obrazów, rozpoznawania tekstu i rozpoznawania punktów orientacyjnych są nadal dostępne za pomocą pakietu SDK Firebase ML.

  • Systemy uczące się Firebase nadal umożliwiają wdrażanie modeli

Najczęstsze pytania

Dlaczego ta zmiana?

Wprowadzamy tę zmianę, aby wyjaśnić, jakie rozwiązania oferuje ta usługa. Dzięki tej zmianie nowy pakiet SDK ML Kit jest w pełni skoncentrowany na systemach uczących się działających na urządzeniu, gdzie wszystkie przetwarzanie danych odbywa się na urządzeniu i są dostępne bezpłatnie dla deweloperów. Usługi w chmurze, które wcześniej należały do pakietu Firebase ML Kit, są nadal dostępne w Firebase ML. Nadal możesz ich używać równolegle z interfejsami API ML Kit.

Jeśli chodzi o interfejsy API na urządzeniu, nowy pakiet ML Kit SDK ułatwia deweloperom zintegrowanie ML Kit z ich aplikacjami. Od tej pory wystarczy dodać zależności do projektu aplikacji i zacząć korzystać z interfejsu API. Nie trzeba konfigurować projektu Firebase tylko po to, by używać interfejsów API na urządzeniu.

Co się stanie z moimi modelami, które są hostowane przez Firebase?

Systemy uczące się Firebase będą nadal wyświetlać modele tak jak dotychczas. Ta funkcja się nie zmienia. Oto kilka ulepszeń:

  • Teraz możesz automatycznie wdrażać swoje modele w Firebase, korzystając z pakietów SDK Pythona lub Node.

  • Możesz teraz używać pakietu SDK Firebase ML w połączeniu ze ś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 korzyści płyną z przejścia na nowy pakiet ML Kit SDK?

Dzięki migracji do nowego pakietu SDK Twoje aplikacje będą korzystać z najnowszych poprawek błędów i ulepszeń interfejsów API na urządzeniu. Oto kilka zmian w pierwszej wersji:

  • Możesz teraz używać nowych interfejsów API niestandardowych etykiet obrazów oraz niestandardowych interfejsów API wykrywania i śledzenia, aby łatwo integrować niestandardowe modele klasyfikacji obrazów w aplikacjach i tworzyć interaktywne środowiska dla użytkowników w czasie rzeczywistym.

  • Obsługa cyklu życia Androida Jetpack jest dodana do wszystkich interfejsów API. Możesz teraz używać addObserver do automatycznego zarządzania inicjowaniem i usuwaniem interfejsów API ML Kit w miarę obrotu ekranu lub zamknięcia aplikacji przez użytkownika / system. To ułatwia integrację z aparatem CameraX.

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

Obecnie używam ML Kit dla Firebase. Kiedy muszę przenieść się na nowe rozwiązanie?

To zależy od tego, których interfejsów API pakietu ML Kit dla Firebase używasz obecnie w swojej aplikacji.

  • Podstawowe interfejsy API działające na urządzeniu w pakiecie SDK ML Kit dla Firebase będą nadal działać w najbliższej przyszłości. Jednak opóźniając przejście na nowy pakiet SDK ML Kit, nie będziesz mieć dostępu do nowych funkcji ani aktualizacji. Poza tym po zaktualizowaniu innych komponentów aplikacji może się pojawić konflikt zależności. Może się tak zdarzyć, gdy niektóre inne zależności (bezpośrednie lub pośrednie) są nowsze niż te, o które prosi stary pakiet ML Kit dla Firebase. Przykładowe biblioteki, w których może się to zdarzyć, to OkHttp i firebase-common.

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

  • Jeśli korzystasz z wdrażania modeli niestandardowych, zalecamy uaktualnienie do najnowszej wersji, która umożliwia uruchamianie wnioskowania bezpośrednio w środowisku wykonawczym TensorFlow Lite.