Podręcznik użytkownika TFX

Wstęp

TFX to platforma uczenia maszynowego (ML) na skalę produkcyjną Google oparta na TensorFlow. Zapewnia strukturę konfiguracji i biblioteki współdzielone do integracji wspólnych komponentów potrzebnych do definiowania, uruchamiania i monitorowania systemu uczenia maszynowego.

TFX 1.0

Z przyjemnością informujemy o dostępności TFX 1.0.0 . Jest to pierwsza wersja TFX po fazie beta, która zapewnia stabilne publiczne interfejsy API i artefakty. Możesz mieć pewność, że Twoje przyszłe potoki TFX będą nadal działać po uaktualnieniu w zakresie zgodności określonym w tym dokumencie RFC .

Instalacja

PytonPyPI

pip install tfx

Pakiety nocne

TFX obsługuje również pakiety nocne na https://pypi-nightly.tensorflow.org w Google Cloud. Aby zainstalować najnowszy pakiet nightly, użyj następującego polecenia:

pip install --extra-index-url https://pypi-nightly.tensorflow.org/simple --pre tfx

Spowoduje to zainstalowanie pakietów nocnych dla głównych zależności TFX, takich jak TensorFlow Model Analysis (TFMA), TensorFlow Data Validation (TFDV), TensorFlow Transform (TFT), TFX Basic Shared Libraries (TFX-BSL), ML Metadata (MLMD).

O TFX

TFX to platforma do budowania i zarządzania przepływami pracy ML w środowisku produkcyjnym. TFX zapewnia:

  • Zestaw narzędzi do budowania potoków ML. Potoki TFX umożliwiają organizowanie przepływu pracy ML na kilku platformach, takich jak: Apache Airflow, Apache Beam i Kubeflow Pipelines.

    Dowiedz się więcej o potokach TFX .

  • Zestaw standardowych składników, których można używać jako części potoku lub jako część skryptu szkoleniowego ML. Standardowe komponenty TFX zapewniają sprawdzoną funkcjonalność, która pomaga w łatwym rozpoczęciu tworzenia procesu ML.

    Dowiedz się więcej o standardowych komponentach TFX .

  • Biblioteki, które zapewniają podstawową funkcjonalność wielu standardowych komponentów. Możesz użyć bibliotek TFX, aby dodać tę funkcjonalność do własnych komponentów niestandardowych lub używać ich osobno.

    Dowiedz się więcej o bibliotekach TFX .

TFX to zestaw narzędzi do uczenia maszynowego na skalę produkcyjną Google, oparty na TensorFlow. Zapewnia strukturę konfiguracji i biblioteki współdzielone do integracji wspólnych komponentów potrzebnych do definiowania, uruchamiania i monitorowania systemu uczenia maszynowego.

Standardowe komponenty TFX

Potok TFX to sekwencja składników, które implementują potok ML, który został specjalnie zaprojektowany do skalowalnych zadań uczenia maszynowego o wysokiej wydajności. Obejmuje to modelowanie, szkolenie, wnioskowanie i zarządzanie wdrożeniami w celach online, natywnych mobilnych i JavaScript.

Potok TFX zazwyczaj zawiera następujące komponenty:

  • ExampleGen to początkowy składnik wejściowy potoku, który pozyskuje i opcjonalnie dzieli wejściowy zestaw danych.

  • StatisticsGen oblicza statystyki dla zestawu danych.

  • SchemaGen analizuje statystyki i tworzy schemat danych.

  • ExampleValidator szuka anomalii i brakujących wartości w zestawie danych.

  • Transform wykonuje inżynierię funkcji w zestawie danych.

  • Trener trenuje model.

  • Tuner dostraja hiperparametry modelu.

  • Evaluator przeprowadza dogłębną analizę wyników szkolenia i pomaga w walidacji wyeksportowanych modeli, upewniając się, że są „wystarczająco dobre”, aby można je było wprowadzić do produkcji.

  • InfraValidator sprawdza, czy model jest rzeczywiście możliwy do udostępnienia z infrastruktury i zapobiega wypchnięciu złego modelu.

  • Pusher wdraża model w infrastrukturze obsługującej.

  • BulkInferrer wykonuje przetwarzanie wsadowe na modelu z nieoznakowanymi żądaniami wnioskowania.

Ten diagram ilustruje przepływ danych między tymi komponentami:

Przepływ składników

Biblioteki TFX

TFX zawiera zarówno biblioteki, jak i komponenty potoku. Ten diagram ilustruje relacje między bibliotekami TFX a komponentami potoku:

Biblioteki i komponenty

TFX dostarcza kilka pakietów Pythona, które są bibliotekami używanymi do tworzenia komponentów potoku. Użyjesz tych bibliotek do tworzenia składników potoków, aby Twój kod mógł skoncentrować się na unikalnych aspektach potoku.

Biblioteki TFX obejmują:

  • TensorFlow Data Validation (TFDV) to biblioteka do analizy i walidacji danych uczenia maszynowego. Został zaprojektowany tak, aby był wysoce skalowalny i dobrze współpracował z TensorFlow i TFX. TFDV obejmuje:

    • Skalowalne obliczanie zbiorczych statystyk danych treningowych i testowych.
    • Integracja z przeglądarką do dystrybucji danych i statystyk, a także fasetowe porównywanie par zbiorów danych (Facets).
    • Automatyczne generowanie schematów danych w celu opisania oczekiwań dotyczących danych, takich jak wymagane wartości, zakresy i słowniki.
    • Przeglądarka schematów, która pomoże Ci sprawdzić schemat.
    • Wykrywanie anomalii w celu identyfikacji anomalii, takich jak brakujące cechy, wartości spoza zakresu lub nieprawidłowe typy cech, żeby wymienić tylko kilka.
    • Przeglądarka anomalii, dzięki której możesz zobaczyć, które funkcje mają anomalie i dowiedzieć się więcej, aby je poprawić.
  • TensorFlow Transform (TFT) to biblioteka do wstępnego przetwarzania danych za pomocą TensorFlow. Transformacja TensorFlow jest przydatna w przypadku danych wymagających pełnego przebiegu, takich jak:

    • Normalizuj wartość wejściową za pomocą średniej i odchylenia standardowego.
    • Konwertuj ciągi na liczby całkowite, generując słownik dla wszystkich wartości wejściowych.
    • Konwertuj zmiennoprzecinkowe na liczby całkowite, przypisując je do zasobników na podstawie obserwowanej dystrybucji danych.
  • TensorFlow służy do uczenia modeli za pomocą TFX. Pozyskuje dane szkoleniowe i kod modelowania oraz tworzy wynik SavedModel. Integruje również potok inżynierii funkcji stworzony przez TensorFlow Transform do wstępnego przetwarzania danych wejściowych.

    KerasTuner służy do strojenia hiperparametrów modelu.

  • TensorFlow Model Analysis (TFMA) to biblioteka do oceny modeli TensorFlow. Jest używany wraz z TensorFlow do tworzenia modelu EvalSavedModel, który staje się podstawą do jego analizy. Pozwala użytkownikom oceniać swoje modele na dużych ilościach danych w sposób rozproszony, przy użyciu tych samych metryk zdefiniowanych w ich trenerze. Te metryki można obliczać na różnych wycinkach danych i wizualizować w notatnikach Jupyter.

  • TensorFlow Metadata (TFMD) zapewnia standardowe reprezentacje metadanych, które są przydatne podczas uczenia modeli uczenia maszynowego za pomocą TensorFlow. Metadane mogą być tworzone ręcznie lub automatycznie podczas analizy danych wejściowych i mogą być wykorzystywane do walidacji, eksploracji i transformacji danych. Formaty serializacji metadanych obejmują:

    • Schemat opisujący dane tabelaryczne (np. tf.Examples).
    • Zbiór zbiorczych statystyk dotyczących takich zbiorów danych.
  • ML Metadata (MLMD) to biblioteka służąca do rejestrowania i pobierania metadanych związanych z przepływami pracy programistów i naukowców zajmujących się danymi. Najczęściej metadane wykorzystują reprezentacje TFMD. MLMD zarządza trwałością za pomocą SQL-Lite , MySQL i innych podobnych magazynów danych.

Technologie wspierające

Wymagany

  • Apache Beam to ujednolicony model typu open source do definiowania potoków przetwarzania danych zarówno wsadowych, jak i strumieniowych. TFX używa Apache Beam do implementacji równoległych potoków danych. Potok jest następnie wykonywany przez jeden z obsługiwanych przez Beam zapleczy przetwarzania rozproszonego, który obejmuje Apache Flink, Apache Spark, Google Cloud Dataflow i inne.

Opcjonalny

Programy Orchestrator, takie jak Apache Airflow i Kubeflow, ułatwiają konfigurowanie, obsługę, monitorowanie i utrzymywanie potoku ML.

  • Apache Airflow to platforma do programowego tworzenia, planowania i monitorowania przepływów pracy. TFX wykorzystuje Airflow do tworzenia przepływów pracy jako ukierunkowanych acyklicznych wykresów (DAG) zadań. Harmonogram przepływu powietrza wykonuje zadania na tablicy pracowników, przestrzegając określonych zależności. Bogate narzędzia wiersza poleceń sprawiają, że wykonywanie złożonych operacji na DAGs jest bardzo proste. Bogaty interfejs użytkownika ułatwia wizualizację potoków działających w środowisku produkcyjnym, monitorowanie postępów i rozwiązywanie problemów w razie potrzeby. Gdy przepływy pracy są zdefiniowane jako kod, stają się bardziej łatwe w utrzymaniu, wersjonowalne, testowalne i współpracujące.

  • Kubeflow jest przeznaczony do tworzenia prostych, przenośnych i skalowalnych wdrożeń przepływów pracy uczenia maszynowego (ML) na Kubernetes. Celem Kubeflow nie jest odtworzenie innych usług, ale zapewnienie prostego sposobu wdrażania najlepszych w swojej klasie systemów open-source dla ML w różnych infrastrukturach. Kubeflow Pipelines umożliwia tworzenie i wykonywanie powtarzalnych przepływów pracy w Kubeflow, zintegrowanych z doświadczeniami opartymi na eksperymentach i notebookach. Usługi Kubeflow Pipelines w Kubernetes obejmują hostowany magazyn metadanych, oparty na kontenerach aparat aranżacji, serwer notatników i interfejs użytkownika, które pomagają użytkownikom opracowywać, uruchamiać i zarządzać złożonymi potokami ML na dużą skalę. Zestaw Kubeflow Pipelines SDK umożliwia programowe tworzenie i udostępnianie komponentów oraz kompozycji potoków.

Przenośność i interoperacyjność

TFX został zaprojektowany tak, aby można go było przenosić do wielu środowisk i struktur orkiestracyjnych, w tym Apache Airflow , Apache Beam i Kubeflow . Można go również przenosić na różne platformy komputerowe, w tym lokalne, i platformy chmurowe, takie jak Google Cloud Platform (GCP) . W szczególności TFX współpracuje z serwerowymi zarządzanymi usługami GCP, takimi jak Cloud AI Platform for Training and Prediction oraz Cloud Dataflow do rozproszonego przetwarzania danych w kilku innych aspektach cyklu życia ML.

Model a zapisany model

Model

Model jest wynikiem procesu uczenia. Jest to zserializowany zapis ciężarów, których nauczono się podczas treningu. Te wagi mogą być następnie używane do obliczania prognoz dla nowych przykładów wejściowych. W przypadku TFX i TensorFlow „model” odnosi się do punktów kontrolnych zawierających wagi nauczone do tego momentu.

Zauważ, że „model” może również odnosić się do definicji grafu obliczeniowego TensorFlow (tj. pliku Pythona), który wyraża sposób obliczania prognozy. Te dwa zmysły mogą być używane zamiennie w zależności od kontekstu.

Zapisany model

  • Co to jest SavedModel : uniwersalna, neutralna językowo, hermetyczna, odzyskiwalna serializacja modelu TensorFlow.
  • Dlaczego jest to ważne : Umożliwia systemom wyższego poziomu tworzenie, przekształcanie i używanie modeli TensorFlow przy użyciu pojedynczej abstrakcji.

SavedModel to zalecany format serializacji do obsługi modelu TensorFlow w środowisku produkcyjnym lub eksportowania przeszkolonego modelu dla natywnej aplikacji mobilnej lub aplikacji JavaScript. Na przykład, aby przekształcić model w usługę REST do tworzenia prognoz, możesz serializować model jako SavedModel i obsługiwać go za pomocą TensorFlow Serving. Zobacz Obsługa modelu TensorFlow, aby uzyskać więcej informacji.

Schemat

Niektóre komponenty TFX używają opisu danych wejściowych zwanego schematem . Schemat jest instancją schema.proto . Schematy są rodzajem bufora protokołu , bardziej ogólnie znanego jako „protobuf”. Schemat może określać typy danych dla wartości funkcji, czy funkcja musi być obecna we wszystkich przykładach, dozwolone zakresy wartości i inne właściwości. Jedną z korzyści płynących z używania TensorFlow Data Validation (TFDV) jest automatyczne generowanie schematu przez wnioskowanie typów, kategorii i zakresów z danych treningowych.

Oto fragment protobufu schematu:

...
feature {
  name: "age"
  value_count {
    min: 1
    max: 1
  }
  type: FLOAT
  presence {
    min_fraction: 1
    min_count: 1
  }
}
feature {
  name: "capital-gain"
  value_count {
    min: 1
    max: 1
  }
  type: FLOAT
  presence {
    min_fraction: 1
    min_count: 1
  }
}
...

Ze schematu korzystają następujące komponenty:

  • Walidacja danych TensorFlow
  • Transformacja przepływu tensorowego

W typowym potoku TFX TensorFlow Data Validation generuje schemat, który jest używany przez inne komponenty.

Programowanie z TFX

TFX zapewnia potężną platformę dla każdej fazy projektu uczenia maszynowego, od badań, eksperymentów i rozwoju na lokalnym komputerze, po wdrażanie. Aby uniknąć duplikacji kodu i wyeliminować potencjalne pochylenie uczenia/obsługiwania , zdecydowanie zaleca się zaimplementowanie potoku TFX zarówno na potrzeby uczenia modelu, jak i wdrażania trenowanych modeli, a także używania składników Transform , które wykorzystują bibliotekę TensorFlow Transform zarówno do uczenia, jak i wnioskowania. W ten sposób będziesz konsekwentnie używać tego samego kodu do wstępnego przetwarzania i analizy, a także unikniesz różnic między danymi używanymi do uczenia a danymi wprowadzanymi do trenowanych modeli w środowisku produkcyjnym, a także odniesiesz korzyści z jednorazowego napisania tego kodu.

Eksploracja danych, wizualizacja i czyszczenie

Eksploracja danych, wizualizacja i czyszczenie

Potoki TFX zwykle zaczynają się od składnika ExampleGen , który akceptuje dane wejściowe i formatuje je jako tf.Examples. Często odbywa się to po podzieleniu danych na zestawy danych uczących i oceniających, tak aby w rzeczywistości istniały dwie kopie komponentów ExampleGen, po jednej do uczenia i oceny. Zwykle następuje po nim składnik StatisticsGen i składnik SchemaGen , które przeanalizują dane i wywnioskują schemat danych oraz statystyki. Schemat i statystyki zostaną wykorzystane przez składnik ExampleValidator , który będzie szukał anomalii, brakujących wartości i niepoprawnych typów danych w Twoich danych. Wszystkie te komponenty wykorzystują możliwości biblioteki TensorFlow Data Validation .

Walidacja danych TensorFlow (TFDV) to cenne narzędzie podczas wstępnej eksploracji, wizualizacji i czyszczenia zestawu danych. TFDV analizuje dane i określa typy danych, kategorie i zakresy, a następnie automatycznie pomaga identyfikować anomalie i brakujące wartości. Zapewnia również narzędzia do wizualizacji, które mogą pomóc w zbadaniu i zrozumieniu zestawu danych. Po zakończeniu potoku możesz odczytać metadane z MLMD i użyć narzędzi do wizualizacji TFDV w notatniku Jupyter, aby przeanalizować swoje dane.

Po początkowym szkoleniu i wdrożeniu modelu TFDV może być używany do monitorowania nowych danych z żądań wnioskowania do wdrożonych modeli i wyszukiwania anomalii i/lub dryfu. Jest to szczególnie przydatne w przypadku danych szeregów czasowych, które zmieniają się w czasie w wyniku trendu lub sezonowości, i może pomóc w informowaniu o problemach z danymi lub konieczności ponownego uczenia modeli na nowych danych.

Wizualizacja danych

Po zakończeniu pierwszego uruchomienia danych przez sekcję potoku, która używa TFDV (zazwyczaj StatisticsGen, SchemaGen i ExampleValidator), możesz zwizualizować wyniki w notatniku w stylu Jupyter. W przypadku dodatkowych przebiegów można porównywać te wyniki podczas wprowadzania korekt, aż dane będą optymalne dla danego modelu i zastosowania.

Najpierw wykonasz zapytanie ML Metadata (MLMD) , aby zlokalizować wyniki tych wykonań tych składników, a następnie użyjesz interfejsu API obsługi wizualizacji w TFDV, aby utworzyć wizualizacje w swoim notatniku. Obejmuje to tfdv.load_statistics() i tfdv.visualize_statistics() Korzystając z tej wizualizacji można lepiej zrozumieć charakterystykę zestawu danych iw razie potrzeby zmodyfikować je zgodnie z wymaganiami.

Modele opracowywania i szkolenia

Inżynieria funkcji

Typowy potok TFX będzie zawierał komponent Transform , który będzie wykonywał inżynierię funkcji, wykorzystując możliwości biblioteki TensorFlow Transform (TFT) . Składnik Transform wykorzystuje schemat utworzony przez składnik SchemaGen i stosuje przekształcenia danych w celu tworzenia, łączenia i przekształcania funkcji, które będą używane do trenowania modelu. Czyszczenie brakujących wartości i konwersję typów należy również wykonać w komponencie Transform, jeśli kiedykolwiek istnieje możliwość, że będą one również obecne w danych wysyłanych do żądań wnioskowania. Podczas projektowania kodu TensorFlow na potrzeby szkolenia w TFX należy wziąć pod uwagę kilka ważnych kwestii .

Modelowanie i szkolenia

Wynikiem komponentu Transform jest SavedModel, który zostanie zaimportowany i użyty w kodzie modelowania w TensorFlow, podczas komponentu Trainer . Ten SavedModel zawiera wszystkie przekształcenia inżynierii danych, które zostały utworzone w składniku Transform, dzięki czemu identyczne przekształcenia są wykonywane przy użyciu dokładnie tego samego kodu podczas uczenia i wnioskowania. Korzystając z kodu modelowania, w tym SavedModel ze składnika Transform, możesz korzystać z danych uczących i oceniających oraz trenować swój model.

Podczas pracy z modelami opartymi na estymatorze ostatnia sekcja kodu modelowania powinna zapisać model zarówno jako SavedModel, jak i EvalSavedModel. Zapisanie jako EvalSavedModel zapewnia, że ​​metryki używane w czasie uczenia są również dostępne podczas oceny (pamiętaj, że nie jest to wymagane w przypadku modeli opartych na Keras). Zapisanie EvalSavedModel wymaga zaimportowania biblioteki TensorFlow Model Analysis (TFMA) do komponentu Trainer.

import tensorflow_model_analysis as tfma
...

tfma.export.export_eval_savedmodel(
        estimator=estimator,
        export_dir_base=eval_model_dir,
        eval_input_receiver_fn=receiver_fn)

Opcjonalny komponent Tuner może być dodany przed Trenerem, aby dostroić hiperparametry (np. liczbę warstw) dla modelu. Przy zadanym modelu i przestrzeni wyszukiwania hiperparametrów algorytm strojenia znajdzie najlepsze hiperparametry na podstawie celu.

Analiza i zrozumienie wydajności modelu

Analiza modelu

Po wstępnym opracowaniu modelu i szkoleniu ważne jest, aby przeanalizować i naprawdę zrozumieć wydajność modelu. Typowy potok TFX będzie zawierał komponent Evaluator , który wykorzystuje możliwości biblioteki TensorFlow Model Analysis (TFMA) , która zapewnia potężny zestaw narzędzi dla tej fazy rozwoju. Składnik Evaluator wykorzystuje model wyeksportowany powyżej i umożliwia określenie listy tfma.SlicingSpec , której można użyć podczas wizualizacji i analizy wydajności modelu. Każda SlicingSpec definiuje wycinek danych treningowych, które chcesz zbadać, na przykład określone kategorie dla cech kategorialnych lub określone zakresy dla cech liczbowych.

Jest to na przykład ważne, aby zrozumieć skuteczność modelu dla różnych segmentów klientów, które można podzielić według rocznych zakupów, danych geograficznych, grupy wiekowej lub płci. Może to być szczególnie ważne w przypadku zestawów danych z długimi ogonami, w których wydajność dominującej grupy może maskować niedopuszczalną wydajność w przypadku ważnych, ale mniejszych grup. Na przykład, Twój model może działać dobrze dla przeciętnych pracowników, ale sromotnie zawodzić dla kadry kierowniczej i może być dla Ciebie ważne, aby o tym wiedzieć.

Analiza i wizualizacja modeli

Po zakończeniu pierwszego uruchomienia danych poprzez uczenie modelu i uruchomienie komponentu Evaluator (który wykorzystuje TFMA ) na wynikach uczenia, możesz zwizualizować wyniki w notatniku w stylu Jupytera. W przypadku dodatkowych przebiegów można je porównywać podczas wprowadzania poprawek, aż do uzyskania optymalnych wyników dla danego modelu i zastosowania.

Najpierw wykonasz zapytanie ML Metadata (MLMD) , aby zlokalizować wyniki tych wykonań tych składników, a następnie użyjesz interfejsu API obsługi wizualizacji w TFMA, aby utworzyć wizualizacje w swoim notesie. Obejmuje to tfma.load_eval_results i tfma.view.render_slicing_metrics Dzięki tej wizualizacji można lepiej zrozumieć charakterystykę modelu iw razie potrzeby zmodyfikować go w razie potrzeby.

Weryfikacja wydajności modelu

W ramach analizy wydajności modelu możesz chcieć zweryfikować wydajność względem punktu odniesienia (takiego jak aktualnie obsługujący model). Walidacja modelu odbywa się poprzez przekazanie zarówno modelu kandydującego, jak i podstawowego do komponentu Evaluator . Ewaluator oblicza metryki (np. AUC, strata) zarówno dla kandydata, jak i dla linii bazowej wraz z odpowiednim zestawem metryk diff. Progi mogą być następnie zastosowane i wykorzystane do wypychania modeli do produkcji.

Sprawdzanie, czy model może być obsłużony

Walidacja na podczerwień

Przed wdrożeniem wytrenowanego modelu warto sprawdzić, czy model jest rzeczywiście obsługiwany w infrastrukturze obsługującej. Jest to szczególnie ważne w środowiskach produkcyjnych, aby upewnić się, że nowo opublikowany model nie uniemożliwia systemowi obsługi prognoz. Komponent InfraValidator dokona kanarkowego wdrożenia Twojego modelu w środowisku piaskownicy i opcjonalnie wyśle ​​prawdziwe żądania, aby sprawdzić, czy Twój model działa poprawnie.

Cele wdrożenia

Po opracowaniu i przeszkoleniu modelu, z którego jesteś zadowolony, nadszedł czas, aby wdrożyć go w co najmniej jednym miejscu docelowym wdrożenia, w którym będzie otrzymywać żądania wnioskowania. TFX obsługuje wdrażanie do trzech klas celów wdrażania. Wytrenowane modele, które zostały wyeksportowane jako SavedModels, można wdrożyć do dowolnego lub wszystkich tych celów wdrażania.

Przepływ składników

Wnioskowanie: Obsługa TensorFlow

TensorFlow Serving (TFS) to elastyczny, wysokowydajny system obsługujący modele uczenia maszynowego, przeznaczony do środowisk produkcyjnych. Wykorzystuje SavedModel i akceptuje żądania wnioskowania za pośrednictwem interfejsów REST lub gRPC. Działa jako zestaw procesów na jednym lub kilku serwerach sieciowych, wykorzystując jedną z kilku zaawansowanych architektur do obsługi synchronizacji i obliczeń rozproszonych. Zobacz dokumentację TFS, aby uzyskać więcej informacji na temat opracowywania i wdrażania rozwiązań TFS.

W typowym potoku SavedModel, który został przeszkolony w składniku Trainer , zostanie najpierw poddany weryfikacji infra-walidacji w składniku InfraValidator . InfraValidator uruchamia kanarkowy serwer modelu TFS, aby faktycznie obsługiwać SavedModel. Jeśli weryfikacja przeszła, komponent Pusher w końcu wdroży SavedModel w Twojej infrastrukturze TFS. Obejmuje to obsługę wielu wersji i aktualizacji modeli.

Wnioskowanie w natywnych aplikacjach mobilnych i IoT: TensorFlow Lite

TensorFlow Lite to zestaw narzędzi, który ma pomóc programistom w korzystaniu z wyszkolonych modeli TensorFlow w natywnych aplikacjach mobilnych i IoT. Wykorzystuje te same modele SavedModels co TensorFlow Serving i stosuje optymalizacje, takie jak kwantyzacja i przycinanie, aby zoptymalizować rozmiar i wydajność wynikowych modeli pod kątem wyzwań związanych z działaniem na urządzeniach mobilnych i IoT. Więcej informacji na temat korzystania z TensorFlow Lite można znaleźć w dokumentacji TensorFlow Lite.

Wnioskowanie w JavaScript: TensorFlow JS

TensorFlow JS to biblioteka JavaScript do szkolenia i wdrażania modeli ML w przeglądarce i na Node.js. Wykorzystuje te same SavedModels, co TensorFlow Serving i TensorFlow Lite, i konwertuje je do formatu TensorFlow.js Web. Więcej informacji na temat korzystania z TensorFlow JS można znaleźć w dokumentacji TensorFlow JS.

Tworzenie potoku TFX z przepływem powietrza

Sprawdź warsztat przepływu powietrza, aby uzyskać szczegółowe informacje

Tworzenie potoku TFX za pomocą Kubeflow

Organizować coś

Kubeflow wymaga klastra Kubernetes do uruchamiania potoków na dużą skalę. Zapoznaj się z wytycznymi dotyczącymi wdrażania Kubeflow, które opisują opcje wdrażania klastra Kubeflow.

Skonfiguruj i uruchom potok TFX

Postępuj zgodnie z samouczkiem TFX on Cloud AI Platform Pipeline , aby uruchomić przykładowy potok TFX w Kubeflow. Komponenty TFX zostały skonteneryzowane w celu utworzenia potoku Kubeflow, a przykład ilustruje możliwość skonfigurowania potoku do odczytu dużego publicznego zestawu danych oraz wykonywania etapów uczenia i przetwarzania danych na dużą skalę w chmurze.

Interfejs wiersza poleceń dla działań potoku

TFX zapewnia ujednolicony interfejs wiersza polecenia, który pomaga w wykonywaniu pełnego zakresu akcji potoków, takich jak tworzenie, aktualizowanie, uruchamianie, wyświetlanie i usuwanie potoków w różnych koordynatorach, w tym Apache Airflow, Apache Beam i Kubeflow. Aby uzyskać szczegółowe informacje, postępuj zgodnie z tymi instrukcjami .