Analiza modelu TensorFlow

TensorFlow Model Analysis (TFMA) to biblioteka do oceny modeli TensorFlow. Pozwala użytkownikom oceniać swoje modele na dużych ilościach danych w sposób rozproszony, przy użyciu tych samych metryk, które zostały zdefiniowane w ich trenerze. Metryki te można obliczać na podstawie różnych fragmentów 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 ze wspomnianym łączem: 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ż nocne pakiety na stronie 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 nocnych pakietów dla głównych zależności TFMA, takich jak TensorFlow Metadata (TFMD), TFX Basic Shared Libraries (TFX-BSL).

Obecnie TFMA wymaga zainstalowania TensorFlow, ale nie ma wyraźnej zależności od pakietu TensorFlow PyPI. Zobacz instrukcje instalacji TensorFlow , aby uzyskać instrukcje.

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 oddzielne instalowanie wszelkich zależności pakietu pip i zależności wtyczki JupyterLab labextension, a numery wersji muszą być zgodne.

Poniższe przykłady używają wersji 0.27.0. Sprawdź dostępne wersje poniżej, aby skorzystać z najnowszej.

Jupyter Lab 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 Jupytera 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 też działać w trybie rozproszonym przy użyciu Google Cloud Dataflow i innych biegaczy Apache Beam.

Wymagana jest również Apache Arrow . TFMA używa Arrow do wewnętrznej reprezentacji danych w celu wykorzystania wektorowych funkcji numpy.

Rozpoczęcie pracy

Aby uzyskać instrukcje dotyczące korzystania z TFMA, zapoznaj się z przewodnikiem wprowadzającym .

Kompatybilne wersje

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

analiza modelu tensorflow apache-beam[gcp] piarrow przepływ tensorowy metadane tensorflow tfx-bsl
Mistrz GitHuba 2.40.0 6.0.0 nocny (2.x) 1.13.1 1.13.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, używając tagu tensorflow-model-analysis .