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 轮子。要从 dist 目录安装轮子,请运行以下命令

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 [email protected]
jupyter labextension install @jupyter-widgets/[email protected]

Jupyter Lab 2

pip install tensorflow_model_analysis==0.27.0
jupyter labextension install [email protected]
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 主分支 2.47.0 10.0.0 nightly (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 n/a 0.15.1
0.15.3 2.16.0 0.15.0 1.15 / 2.0 n/a 0.15.1
0.15.2 2.16.0 0.15.0 1.15 / 2.0 n/a 0.15.1
0.15.1 2.16.0 0.15.0 1.15 / 2.0 n/a 0.15.0
0.15.0 2.16.0 0.15.0 1.15 n/a n/a
0.14.0 2.14.0 n/a 1.14 n/a n/a
0.13.1 2.11.0 n/a 1.13 n/a n/a
0.13.0 2.11.0 n/a 1.13 n/a n/a
0.12.1 2.10.0 n/a 1.12 n/a n/a
0.12.0 2.10.0 n/a 1.12 n/a n/a
0.11.0 2.8.0 n/a 1.11 n/a n/a
0.9.2 2.6.0 n/a 1.9 n/a n/a
0.9.1 2.6.0 n/a 1.10 n/a n/a
0.9.0 2.5.0 n/a 1.9 n/a n/a
0.6.0 2.4.0 n/a 1.6 n/a n/a

问题

如果您在使用 TFMA 时有任何问题,请使用 tensorflow-model-analysis 标签在 Stack Overflow 上提问。