tensorflow/model-analysis

Model analysis tools for TensorFlow

TensorFlow Model Analysis (TFMA)

何がそれか – TFMA は、大規模なデータセット上で TensorFlow モデルを評価できる Python ライブラリです。トレーニング時に記述したメトリクス定義を再利用し、Apache Beam を介して分散処理で評価を実行し、特徴値ごとのスライス(例:国別、年齢層別)で結果を計算・探索できるほか、Jupyter ノートブックで可視化も可能です。

主な機能

  • スケーラブルな評価 – ローカルマシンまたは Google Cloud Dataflow などの分散ランナーで動作可能。
  • スライスベースのメトリクス – 特定のデータスライス(例:国別、年齢層別)に対してメトリクスを計算するための追加コードなしで実行可能。
  • 可視化 – 組み込みの Jupyter ウィジェットとスライスメトリクスブラウザで、インタラクティブに結果を確認可能。
  • 統合ポイント – TFX パイプライン、Kubeflow Pipelines と連携可能。自己完結型の HTML レポートもエクスポート可能。

インストール

# PyPI からの標準インストール
pip install tensorflow-model-analysis

# ナイトリービルド(最新版が必要な場合)
pip install -i https://pypi-nightly.tensorflow.org/simple tensorflow-model-analysis

# リポジトリから直接インストール(例:特定のタグ)
pip install git+https://github.com/tensorflow/model-analysis.git@v0.21.3#egg=tensorflow_model_analysis

TFMA は TensorFlow を自動的にインストールしません。互換性のある TensorFlow バージョンを別途インストールする必要があります。

一般的なワークフロー

  1. トレーニングコードでメトリクスを定義(例:tf.keras.metrics.AUC)。
  2. EvalConfig を作成。これにより、定義したメトリクスを指し、オプションでスライシング仕様を設定可能。
  3. TFMA を実行 – Python API(tfma.run_model_analysis)または TFX コンポーネントとして実行。内部では Apache Beam パイプラインが構築され、例の読み込み、モデル適用、メトリクス集計が行われます。
  4. 結果を探索 – 生成された tfma ノートブックを開くか、JupyterLab の tfma ウィジェットを使用してスライスごとのテーブルやチャートを閲覧可能。

Jupyter 統合

  • 対応する JupyterLab 拡張機能をインストール(例:jupyter labextension install tensorflow_model_analysis@0.32.0)。
  • クラシック Jupyter 用のノートブック拡張機能を有効化(jupyter nbextension enable --py tensorflow_model_analysis)。
  • 提供された tfma ウィジェットを使用して、ノートブック内にインタラクティブなテーブルを直接レンダリング可能。

依存関係

  • TensorFlow – コアの機械学習フレームワーク。
  • Apache Beam – 分散計算を実行(デフォルトではローカルで実行可能。Dataflow、Spark、Flink などにターゲット可能)。
  • Apache Arrow – 高効率なメモリ内カラム形式データ処理に使用。

スタートガイド – リポジトリの get-started ガイドを参照: https://github.com/tensorflow/model-analysis/blob/master/g3doc/get_started.md

バージョン互換性 – README には、TFMA リリースと TensorFlow、Apache Beam、PyArrow、および他の TFX コンポーネントの特定バージョンとの対応マトリクスが詳細に記載されています。スタック全体と整合性のある TFMA バージョンを選択してください。

サポート – 質問は Stack Overflow の tensorflow-model-analysis タグで回答されます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト