TensorFlow 模型分析

TensorFlow 模型分析 (TFMA) 是用於評估 TensorFlow 模型的程式庫。使用者可以使用訓練器中定義的相同指標,以分散式方式在大量資料上評估模型。這些指標可以針對不同的資料切片進行計算,並在 Jupyter 筆記本中視覺化。

TFMA Slicing Metrics Browser

安裝

建議的 TFMA 安裝方式是使用 PyPI 套件

pip install tensorflow-model-analysis

從來源建構 TFMA

若要從來源建構,請按照下列步驟執行

依照連結所述安裝 protoc:protoc

執行下列命令建立虛擬環境

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

這會在 dist 目錄中建構 TFMA Wheel 檔案。若要從 dist 目錄安裝 Wheel 檔案,請執行下列命令

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

每晚套件

TFMA 也會在 Google Cloud 上的 https://pypi-nightly.tensorflow.org 上託管每晚套件。若要安裝最新的每晚套件,請使用下列命令

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

這會安裝 TFMA 主要依附元件 (例如 TensorFlow Metadata (TFMD)、TFX Basic Shared Libraries (TFX-BSL)) 的每晚套件。

目前,TFMA 要求安裝 TensorFlow,但未明確依附於 TensorFlow PyPI 套件。如需操作說明,請參閱 TensorFlow 安裝指南

在 Jupyter Notebook 中啟用 TFMA 視覺化

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

Jupyter Lab

在撰寫本文時,由於 https://github.com/pypa/pip/issues/9187, pip install 可能永遠不會完成。在這種情況下,您應該將 pip 還原至版本 19 而不是 20:pip install "pip<20"

使用 JupyterLab 擴充功能需要在命令列上安裝依附元件。您可以在 JupyterLab UI 或命令列中的主控台中執行此操作。這包括分別安裝任何 pip 套件依附元件和 JupyterLab labextension 外掛程式依附元件,且版本號碼必須相容。

以下範例使用 0.27.0。請查看下方的可用版本以使用最新版本。

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

Jupyter Lab 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

疑難排解

檢查 pip 套件

pip list

檢查擴充功能

jupyter labextension list

重要依附元件

TensorFlow 為必要項目。

Apache Beam 為必要項目;這是支援有效分散式運算的方式。根據預設,Apache Beam 會在本機模式中執行,但也可以使用 Google Cloud Dataflow 和其他 Apache Beam 執行器,在分散式模式中執行。

Apache Arrow 也是必要項目。TFMA 在內部使用 Arrow 來表示資料,以便使用向量化 numpy 函式。

開始使用

如需使用 TFMA 的操作說明,請參閱開始使用指南

相容版本

下表是彼此相容的 TFMA 套件版本。這是由我們的測試架構決定,但其他未經測試的組合也可能適用。

tensorflow-model-analysis apache-beam[gcp] pyarrow tensorflow tensorflow-metadata tfx-bsl
GitHub master 2.47.0 10.0.0 每晚 (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 不適用 0.15.1
0.15.3 2.16.0 0.15.0 1.15 / 2.0 不適用 0.15.1
0.15.2 2.16.0 0.15.0 1.15 / 2.0 不適用 0.15.1
0.15.1 2.16.0 0.15.0 1.15 / 2.0 不適用 0.15.0
0.15.0 2.16.0 0.15.0 1.15 不適用 不適用
0.14.0 2.14.0 不適用 1.14 不適用 不適用
0.13.1 2.11.0 不適用 1.13 不適用 不適用
0.13.0 2.11.0 不適用 1.13 不適用 不適用
0.12.1 2.10.0 不適用 1.12 不適用 不適用
0.12.0 2.10.0 不適用 1.12 不適用 不適用
0.11.0 2.8.0 不適用 1.11 不適用 不適用
0.9.2 2.6.0 不適用 1.9 不適用 不適用
0.9.1 2.6.0 不適用 1.10 不適用 不適用
0.9.0 2.5.0 不適用 1.9 不適用 不適用
0.6.0 2.4.0 不適用 1.6 不適用 不適用

問題

如有任何關於使用 TFMA 的問題,請透過 Stack Overflow,並加上 tensorflow-model-analysis 標籤提問。