You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让TFX的StatisticsGen叠加展示训练与验证集统计图表?

在Kubeflow的TFX流水线中叠加展示训练/验证集统计曲线

要实现和tfdv.visualize_statistics(lhs_statistics=train_stats, rhs_statistics=eval_stats, lhs_name='train', rhs_name='eval')一致的叠加对比效果,可通过以下两种方式实现:

方法1:手动加载统计文件进行可视化

StatisticsGen组件会为训练、验证数据集分别生成独立的统计数据文件,你可以直接用TFDV工具加载后对比:

  1. 在Kubeflow流水线UI中找到StatisticsGen的输出Artifact,下载训练集和验证集对应的stats_tfrecord文件
  2. 运行以下代码生成叠加对比图表:
import tensorflow_data_validation as tfdv

# 替换为实际的文件路径
train_stats = tfdv.load_statistics('/path/to/train_stats_tfrecord')
eval_stats = tfdv.load_statistics('/path/to/eval_stats_tfrecord')

# 生成叠加对比图
tfdv.visualize_statistics(
    lhs_statistics=train_stats,
    rhs_statistics=eval_stats,
    lhs_name='训练集',
    rhs_name='验证集'
)

执行后会弹出交互式图表,直观展示两个数据集的分布差异。

方法2:在流水线中集成自动对比组件

如果希望流水线自动生成并保存对比图表,可以自定义TFX组件实现:

  1. 编写自定义Executor类,处理StatisticsGen的输出并生成对比HTML:
from tfx import types
from tfx.components.base import base_executor
from tfx.types import artifact_utils
import tensorflow_data_validation as tfdv
import os

class StatsCompareExecutor(base_executor.BaseExecutor):
    def Do(self, input_dict, output_dict, exec_properties):
        # 获取训练、验证集统计Artifact
        train_stats_artifact = artifact_utils.get_single_instance(input_dict['train_stats'])
        eval_stats_artifact = artifact_utils.get_single_instance(input_dict['eval_stats'])
        
        # 加载统计数据
        train_stats = tfdv.load_statistics(train_stats_artifact.uri)
        eval_stats = tfdv.load_statistics(eval_stats_artifact.uri)
        
        # 生成并保存对比HTML
        output_dir = output_dict['stats_compare'].uri
        os.makedirs(output_dir, exist_ok=True)
        output_path = os.path.join(output_dir, 'stats_compare.html')
        
        tfdv.visualize_statistics(
            lhs_statistics=train_stats,
            rhs_statistics=eval_stats,
            lhs_name='训练集',
            rhs_name='验证集',
            output_path=output_path
        )
  1. 定义组件类型并添加到TFX流水线中,配置好依赖(依赖StatisticsGen的训练、验证统计输出)
  2. 流水线运行后,在Kubeflow UI中查看该组件的输出Artifact,即可打开生成的对比HTML图表。

关键注意点

  • 确保ExampleGen组件已正确拆分训练、验证数据集,StatisticsGen会自动为每个数据集生成统计数据
  • 自定义组件需正确配置输入输出Artifact类型,避免依赖错误

内容的提问来源于stack exchange,提问作者Youcef Kacer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 23:55:27