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

如何将Python中model.fit返回的TrainingLogger类输出导出为JSON文件

导出TrainingLogger数据的解决方案

你获取到的torchtuples.callbacks.TrainingLogger类实例本身内置了结构化的训练/验证指标存储,无需自行解析打印的文本内容,按以下步骤操作即可导出:

1. 转换为Pandas DataFrame

官方内置了直接转DataFrame的方法:

# 直接调用to_pandas方法得到结构化数据
log_df = log.to_pandas()

# 若使用旧版本torchtuples,可直接读取df属性
# log_df = log.df

转换后得到的DataFrame默认包含epoch序号、训练损失、验证损失等所有打印的指标数据。

2. 导出为目标文件格式

拿到DataFrame后可直接调用pandas内置的导出方法,以下是常用格式的导出示例:

  • 导出为CSV文件(兼容性最高)
log_df.to_csv("训练日志.csv", index_label="epoch", encoding="utf-8-sig")
  • 导出为Excel文件
log_df.to_excel("训练日志.xlsx", index_label="epoch")
  • 导出为JSON格式
log_df.to_json("训练日志.json", orient="records", force_ascii=False)

版本兼容备选方案

如果上述方法无法获取DataFrame,可手动提取指标拼接:

import pandas as pd

# 手动提取各指标序列
train_loss = log.train_scores["loss"]
val_loss = log.val_scores["loss"]

# 拼接为DataFrame
log_df = pd.DataFrame({
    "train_loss": train_loss,
    "val_loss": val_loss
})

注:你打印内容中出现的df_val['event'] = 1 -df_val['event']是你提前修改验证集标签的代码,不属于训练日志的内置数据,如需保留可自行在导出前添加到DataFrame中。

内容的提问来源于stack exchange,提问作者V J

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 00:15:09