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

如何一次性批量下载TensorBoard所有运行数据的CSV文件

TensorBoard批量导出所有运行记录CSV的可行方案

问题对应界面参考:
TensorBoard多运行记录界面截图

目前TensorBoard原生UI确实没有提供一键下载全部CSV的按钮,可以根据自己的场景选择以下方案实现:

  • 本地持有原始event日志文件:优先用TensorBoard原生API脚本导出
    这个方案不需要额外安装第三方工具,导出的CSV和手动点击下载的内容完全一致,不会有数据偏差。
    1. 确认本地已经安装了和当前打开TensorBoard同版本的tensorboard依赖
    2. 把下面的脚本保存为export_tb_csv.py,修改脚本里的log_root为你启动TensorBoard时传入的日志根目录
    3. 运行脚本即可自动遍历所有运行记录,把所有标量数据导出为CSV文件
import os
import csv
from tensorboard.backend.event_processing.event_accumulator import EventAccumulator

def export_all_events_to_csv(log_root: str, output_root: str = "./tb_csv_export"):
    os.makedirs(output_root, exist_ok=True)
    for run_name in os.listdir(log_root):
        run_path = os.path.join(log_root, run_name)
        if not os.path.isdir(run_path):
            continue
        event_acc = EventAccumulator(run_path)
        event_acc.Reload()
        scalar_tags = event_acc.Tags().get("scalars", [])
        for tag in scalar_tags:
            scalars = event_acc.Scalars(tag)
            safe_tag_name = tag.replace("/", "_").replace("\\", "_")
            csv_save_path = os.path.join(output_root, f"{run_name}__{safe_tag_name}.csv")
            with open(csv_save_path, "w", newline="", encoding="utf-8") as f:
                writer = csv.writer(f)
                writer.writerow(["wall_time", "step", "value"])
                for item in scalars:
                    writer.writerow([item.wall_time, item.step, item.value])
    print(f"导出完成,所有CSV文件保存在:{os.path.abspath(output_root)}")

if __name__ == "__main__":
    # 替换成你自己的TensorBoard日志根目录
    export_all_events_to_csv(log_root="./your_tensorboard_log_directory")
  • 本地无原始日志,仅能访问Web端TensorBoard:用浏览器控制台脚本批量触发下载
    1. 打开TensorBoard的Scalars页面,下拉滚动确保所有要导出的指标、运行记录都已经加载渲染完成
    2. 按F12打开浏览器开发者工具,切换到Console面板
    3. 粘贴以下代码后回车,脚本会自动间隔触发所有CSV下载按钮的点击,避免被浏览器拦截批量请求:
const allCsvDownloadBtns = document.querySelectorAll('a[download][href*="data:text/csv"]');
allCsvDownloadBtns.forEach((btn, index) => {
  setTimeout(() => btn.click(), index * 200);
});

注意:提前把浏览器下载设置改为自动保存到指定目录,不要弹出保存位置确认框,否则需要反复手动确认。

  • 需要导出标量之外的其他数据(直方图、超参数、嵌入向量等):使用专用导出工具
    可以安装tensorboard-export工具,支持全类型数据批量导出,安装命令为pip install tensorboard-export,安装完成后按照工具帮助文档指定日志目录、导出类型即可一键完成全量导出。

内容的提问来源于stack exchange,提问作者Amirhossein Rezaei

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 03:24:16