TensorFlow 模型分析 (TFMA) 是一个用于评估 TensorFlow 模型的库。它允许用户使用其训练器中定义的相同指标,以分布式方式评估其模型的大量数据。这些指标可以在数据的不同切片上计算,并在 Jupyter 笔记本中可视化。
安装
安装 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 上提问。