TensorFlow Model Analysis (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
これにより、TensorFlow Metadata (TFMD)、TFX Basic Shared Libraries (TFX-BSL) などの TFMA の主要な依存関係の夜間パッケージがインストールされます。
現在、TFMA では TensorFlow がインストールされていることが必要ですが、TensorFlow PyPI パッケージへの明示的な依存関係はありません。手順については、 TensorFlow インストール ガイドを参照してください。
Jupyter Notebook で TFMA 視覚化を有効にするには:
jupyter nbextension enable --py widgetsnbextension
jupyter nbextension enable --py tensorflow_model_analysis
ジュピターラボ
執筆時点では、 https://github.com/pypa/pip/issues/9187 のため、 pip install
が完了しない可能性があります。その場合は、 pip install "pip<20"
のように pip をバージョン 20 ではなく 19 に戻す必要があります。
JupyterLab 拡張機能を使用するには、コマンド ラインで依存関係をインストールする必要があります。これは、JupyterLab UI のコンソール内またはコマンド ラインで実行できます。これには、pip パッケージの依存関係と JupyterLab labextension プラグインの依存関係を個別にインストールすることが含まれており、バージョン番号に互換性がある必要があります。
以下の例では 0.27.0 を使用しています。最新のものを使用するには、以下の利用可能なバージョンを確認してください。
ジュピターラボ 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
ジュピターラボ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 は、ベクトル化された numpy 関数を利用するために、Arrow を使用してデータを内部的に表現します。
はじめる
TFMA の使用手順については、スタート ガイドを参照してください。
互換性のあるバージョン
次の表は、相互に互換性のある TFMA パッケージのバージョンを示しています。これはテスト フレームワークによって決定されますが、テストされていない他の組み合わせも機能する可能性があります。
テンソルフローモデル解析 | Apache-ビーム[gcp] | パイアロー | テンソルフロー | テンソルフローメタデータ | tfx-bsl |
---|---|---|---|---|---|
GitHub マスター | 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 の操作に関する質問は、 tensorflow-model-analysisタグを使用してStack Overflowに送信してください。