Analiza modelu TensorFlow

Analiza modelu TensorFlow (TFMA) to biblioteka do oceny modeli TensorFlow. Umożliwia użytkownikom ocenę swoich modeli na dużych ilościach danych w sposób rozproszony, przy użyciu tych samych metryk zdefiniowanych w ich trainerze. Metryki te można obliczać na różnych fragmentach danych i wizualizować w notatnikach Jupyter.

Przeglądarka metryk krojenia TFMA

Instalacja

Zalecanym sposobem instalacji TFMA jest użycie pakietu PyPI :

pip install tensorflow-model-analysis

Zbuduj TFMA ze źródła

Aby zbudować ze źródła, wykonaj następujące kroki:

Zainstaluj protokół zgodnie z podanym linkiem: protoc

Utwórz środowisko wirtualne, uruchamiając polecenia

python3 -m venv <virtualenv_name>
source <virtualenv_name>/bin/activate
pip3 install setuptools wheel
git clone https://github.com/tensorflow/model-analysis.git
cd model-analysis
python3 setup.py bdist_wheel

Spowoduje to zbudowanie koła TFMA w katalogu dist. Aby zainstalować koło z katalogu dist, uruchom polecenia

cd dist
pip3 install tensorflow_model_analysis-<version>-py3-none-any.whl

Pakiety nocne

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

pip install -i https://pypi-nightly.tensorflow.org/simple tensorflow-model-analysis

Spowoduje to zainstalowanie pakietów nocnych dla głównych zależności TFMA, takich jak metadane TensorFlow (TFMD), podstawowe biblioteki współdzielone TFX (TFX-BSL).

Obecnie TFMA wymaga zainstalowania TensorFlow, ale nie ma wyraźnej zależności od pakietu TensorFlow PyPI. Instrukcje można znaleźć w przewodnikach instalacji TensorFlow .

Aby włączyć wizualizację TFMA w Jupyter Notebook:

  jupyter nbextension enable --py widgetsnbextension
  jupyter nbextension enable --py tensorflow_model_analysis

Laboratorium Jupytera

W chwili pisania, z powodu https://github.com/pypa/pip/issues/9187, pip install może nigdy się nie zakończyć. W takim przypadku powinieneś przywrócić pip do wersji 19 zamiast 20: pip install "pip<20" .

Korzystanie z rozszerzenia JupyterLab wymaga zainstalowania zależności w wierszu poleceń. Możesz to zrobić w konsoli w interfejsie użytkownika JupyterLab lub w wierszu poleceń. Obejmuje to oddzielną instalację wszelkich zależności pakietu pip i zależności wtyczki labextension JupyterLab, a numery wersji muszą być zgodne.

W poniższych przykładach użyto wersji 0.27.0. Sprawdź dostępne wersje poniżej, aby skorzystać z najnowszej.

Laboratorium Jupytera 1.2.x

pip install tensorflow_model_analysis==0.27.0
jupyter labextension install tensorflow_model_analysis@0.27.0
jupyter labextension install @jupyter-widgets/jupyterlab-manager@1.1

Laboratorium Jowisza 2

pip install tensorflow_model_analysis==0.27.0
jupyter labextension install tensorflow_model_analysis@0.27.0
jupyter labextension install @jupyter-widgets/jupyterlab-manager@2

Rozwiązywanie problemów

Sprawdź pakiety pip:

pip list

Sprawdź rozszerzenia:

jupyter labextension list

Godne uwagi zależności

Wymagany jest TensorFlow.

Wymagany jest Apache Beam ; w ten sposób obsługiwane są wydajne obliczenia rozproszone. Domyślnie Apache Beam działa w trybie lokalnym, ale może również działać w trybie rozproszonym, korzystając z Google Cloud Dataflow i innych modułów uruchamiających Apache Beam.

Wymagany jest także Apache Arrow . TFMA używa Arrow do wewnętrznej reprezentacji danych w celu wykorzystania wektorowych funkcji numpy.

Pierwsze kroki

Instrukcje dotyczące korzystania z TFMA można znaleźć w przewodniku wprowadzającym .

Kompatybilne wersje

W poniższej tabeli przedstawiono wersje pakietów TFMA, które są ze sobą kompatybilne. Jest to określane w naszych ramach testowych, ale inne nieprzetestowane kombinacje mogą również działać.

analiza modelu tensorflow Apache-beam[gcp] pirar przepływ tensorowy metadane tensorflow tfx-bsl
Mistrz GitHuba 2.47.0 10.0.0 co noc (2.x) 1.15.0 1.15.1
0.46.0 2.47.0 10.0.0 2.15 1.15.0 1.15.1
0,45,0 2.47.0 10.0.0 2.13 1.14.0 1.14.0
0.44.0 2.40.0 6.0.0 2.12 1.13.1 1.13.0
0.43.0 2.40.0 6.0.0 2.11 1.12.0 1.12.0
0.42.0 2.40.0 6.0.0 1,15 / 2,10 1.11.0 1.11.0
0.41.1 2.40.0 6.0.0 1,15 / 2,9 1.10.0 1.10.1
0.41.0 2.40.0 6.0.0 1,15 / 2,9 1.10.0 1.10.1
0,40,0 2.38.0 5.0.0 1,15 / 2,9 1.9.0 1.9.0
0.39.0 2.38.0 5.0.0 1,15 / 2,8 1.8.0 1.8.0
0.38.0 2.36.0 5.0.0 1,15 / 2,8 1.7.0 1.7.0
0.37.0 2.35.0 5.0.0 1,15 / 2,7 1.6.0 1.6.0
0.36.0 2.34.0 5.0.0 1,15 / 2,7 1.5.0 1.5.0
0,35,0 2.33.0 5.0.0 1,15 / 2,6 1.4.0 1.4.0
0.34.1 2.32.0 2.0.0 1,15 / 2,6 1.2.0 1.3.0
0.34.0 2.31.0 2.0.0 1,15 / 2,6 1.2.0 1.3.1
0.33.0 2.31.0 2.0.0 1,15 / 2,5 1.2.0 1.2.0
0.32.1 2.29.0 2.0.0 1,15 / 2,5 1.1.0 1.1.1
0.32.0 2.29.0 2.0.0 1,15 / 2,5 1.1.0 1.1.0
0.31.0 2.29.0 2.0.0 1,15 / 2,5 1.0.0 1.0.0
0.30.0 2.28.0 2.0.0 1,15 / 2,4 0.30.0 0.30.0
0.29.0 2.28.0 2.0.0 1,15 / 2,4 0.29.0 0.29.0
0.28.0 2.28.0 2.0.0 1,15 / 2,4 0.28.0 0.28.0
0.27.0 2.27.0 2.0.0 1,15 / 2,4 0.27.0 0.27.0
0.26.1 2.28.0 0.17.0 1,15 / 2,3 0.26.0 0.26.0
0.26.0 2.25.0 0.17.0 1,15 / 2,3 0.26.0 0.26.0
0.25.0 2.25.0 0.17.0 1,15 / 2,3 0.25.0 0.25.0
0.24.3 2.24.0 0.17.0 1,15 / 2,3 0.24.0 0.24.1
0.24.2 2.23.0 0.17.0 1,15 / 2,3 0.24.0 0.24.0
0.24.1 2.23.0 0.17.0 1,15 / 2,3 0.24.0 0.24.0
0.24.0 2.23.0 0.17.0 1,15 / 2,3 0.24.0 0.24.0
0.23.0 2.23.0 0.17.0 1,15 / 2,3 0.23.0 0.23.0
0.22.2 2.20.0 0.16.0 1,15 / 2,2 0.22.2 0.22.0
0.22.1 2.20.0 0.16.0 1,15 / 2,2 0.22.2 0.22.0
0.22.0 2.20.0 0.16.0 1,15 / 2,2 0.22.0 0.22.0
0.21.6 2.19.0 0.15.0 1,15 / 2,1 0.21.0 0.21.3
0.21.5 2.19.0 0.15.0 1,15 / 2,1 0.21.0 0.21.3
0.21.4 2.19.0 0.15.0 1,15 / 2,1 0.21.0 0.21.3
0.21.3 2.17.0 0.15.0 1,15 / 2,1 0.21.0 0.21.0
0.21.2 2.17.0 0.15.0 1,15 / 2,1 0.21.0 0.21.0
0.21.1 2.17.0 0.15.0 1,15 / 2,1 0.21.0 0.21.0
0.21.0 2.17.0 0.15.0 1,15 / 2,1 0.21.0 0.21.0
0.15.4 2.16.0 0.15.0 1,15 / 2,0 nie dotyczy 0.15.1
0.15.3 2.16.0 0.15.0 1,15 / 2,0 nie dotyczy 0.15.1
0.15.2 2.16.0 0.15.0 1,15 / 2,0 nie dotyczy 0.15.1
0.15.1 2.16.0 0.15.0 1,15 / 2,0 nie dotyczy 0.15.0
0.15.0 2.16.0 0.15.0 1,15 nie dotyczy nie dotyczy
0.14.0 2.14.0 nie dotyczy 1.14 nie dotyczy nie dotyczy
0.13.1 2.11.0 nie dotyczy 1.13 nie dotyczy nie dotyczy
0.13.0 2.11.0 nie dotyczy 1.13 nie dotyczy nie dotyczy
0.12.1 2.10.0 nie dotyczy 1.12 nie dotyczy nie dotyczy
0.12.0 2.10.0 nie dotyczy 1.12 nie dotyczy nie dotyczy
0.11.0 2.8.0 nie dotyczy 1.11 nie dotyczy nie dotyczy
0.9.2 2.6.0 nie dotyczy 1.9 nie dotyczy nie dotyczy
0.9.1 2.6.0 nie dotyczy 1.10 nie dotyczy nie dotyczy
0.9.0 2.5.0 nie dotyczy 1.9 nie dotyczy nie dotyczy
0.6.0 2.4.0 nie dotyczy 1.6 nie dotyczy nie dotyczy

Pytania

Wszelkie pytania dotyczące pracy z TFMA prosimy kierować do Stack Overflow za pomocą tagu tensorflow-model-analytic .