使用公平性指标仪表板评估模型 [Beta]

Fairness Indicators

TensorBoard 的公平性指标可轻松计算针对二元多类分类器的常见公平性指标。使用此插件,您可以可视化运行的公平性评估,并轻松比较各组的性能。

特别是,TensorBoard 的公平性指标允许您评估和可视化模型性能,并根据定义的用户组进行切片。使用置信区间和多个阈值处的评估,对结果充满信心。

许多现有的评估公平性问题的工具在大型数据集和模型上效果不佳。在 Google,拥有可在数十亿用户系统上使用的工具对我们来说非常重要。公平性指标将允许您在 TensorBoard 环境中或在 Colab 中评估任何规模的用例。

要求

要安装 TensorBoard 的公平性指标,请运行

python3 -m virtualenv ~/tensorboard_demo
source ~/tensorboard_demo/bin/activate
pip install --upgrade pip
pip install fairness_indicators
pip install tensorboard-plugin-fairness-indicators

演示

如果您想在 TensorBoard 中测试公平性指标,您可以下载示例 TensorFlow 模型分析评估结果(eval_config.json、指标和绘图文件)以及一个 demo.py 实用程序,从 Google Cloud Platform 下载,此处,使用以下命令。

pip install gsutil
gsutil cp -r gs://tensorboard_plugin_fairness_indicators/ .

导航到包含下载文件的目录。

cd tensorboard_plugin_fairness_indicators

此评估数据基于 民事评论数据集,使用 Tensorflow 模型分析的 model_eval_lib 库计算得出。它还包含一个示例 TensorBoard 摘要数据文件以供参考。

demo.py 实用程序写入一个 TensorBoard 摘要数据文件,该文件将被 TensorBoard 读取以呈现公平性指标仪表板(有关摘要数据文件的更多信息,请参阅 TensorBoard 教程)。

要与 demo.py 实用程序一起使用的标志

  • --logdir: TensorBoard 将写入摘要的目录
  • --eval_result_output_dir: 包含由 TFMA 评估的评估结果的目录(在上一步中下载)

运行 demo.py 实用程序以将摘要结果写入日志目录

python demo.py --logdir=. --eval_result_output_dir=.

运行 TensorBoard

tensorboard --logdir=.

这将启动一个本地实例。本地实例启动后,将显示指向终端的链接。在浏览器中打开链接以查看公平性指标仪表板。

演示 Colab

Fairness_Indicators_TensorBoard_Plugin_Example_Colab.ipynb 包含一个端到端演示,用于训练和评估模型,并在 TensorBoard 中可视化公平性评估结果。

用法

要将公平性指标与您自己的数据和评估一起使用

  1. 使用 tensorflow_model_analysis.run_model_analysistensorflow_model_analysis.ExtractEvaluateAndWriteResult API 在 model_eval_lib 中训练新模型并进行评估。有关如何执行此操作的代码片段,请参阅公平性指标 colab 此处

  2. 使用 tensorboard_plugin_fairness_indicators.summary_v2 API 写入公平性指标摘要。

    writer = tf.summary.create_file_writer(<logdir>)
    with writer.as_default():
        summary_v2.FairnessIndicators(<eval_result_dir>, step=1)
    writer.close()
    
  3. 运行 TensorBoard

    • tensorboard --logdir=<logdir>
    • 使用仪表板左侧的下拉菜单选择新的评估运行以可视化结果。