读取mmdetection训练目标检测模型的日志文件(log.json)的各种AP值按epoch写入excel文件

最近跑的模型有点多,人工统计训练结果比较耗时间,特别是epoch多,而且统计多个AP值时,特别耗时间。

于是就想直接把结果导入excel,以后就不用单独统计了

目前已有的训练结果日志是json文件,打开work_dir可以找到一个日志文件,采用json格式保存,现在要将这个json文件提取想要的数据处理成excel表格(.xlsx),使用python程序解决该问题:
如图所示是最终的处理效果:
在这里插入图片描述
由于代码不在同一台电脑,所以无法直接附上,只好服务器连接截个图,代码不长,也很简单,主要供自己日后使用和有需要的人以供参考。
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
可以使用Python中的Pandas和openpyxl库来实现将模型的评估结果保存为excel文件的操作。具体步骤如下: 1. 导入需要的库: ```python import pandas as pd from openpyxl import Workbook ``` 2. 在训练模型时,使用Callback函数来捕获每个epoch的评估结果: ```python class MetricsCallback(tf.keras.callbacks.Callback): def on_epoch_end(self, epoch, logs=None): if logs is None: logs = {} for metric_name, metric_value in logs.items(): if metric_name not in self.params['metrics']: self.params['metrics'].append(metric_name) self.model.validation_data = self.validation_data evaluation_result = self.model.evaluate(self.validation_data[0], self.validation_data[1], verbose=0) for metric_name, metric_value in zip(self.model.metrics_names, evaluation_result): logs[f'val_{metric_name}'] = metric_value return ``` 这里定义了一个Callback函数,用于在每个epoch结束时捕获评估结果,并将其保存在logs变量中。 3. 在训练模型时,将Callback函数传递给fit()函数: ```python history = model.fit(x_train, y_train, epochs=10, validation_data=(x_val, y_val), callbacks=[MetricsCallback()]) ``` 这样,在每个epoch结束时,就会自动计算并输出验证集的准确率和损失函数,并保存在history变量中。 4. 将history变量转换为Pandas的DataFrame格式,并保存为excel文件: ```python df = pd.DataFrame(history.history) df.to_excel('evaluation_results.xlsx', index=False) ``` 这里将history变量转换为DataFrame格式,并使用to_excel()函数将其保存为excel文件。需要注意的是,index参数设置为False,表示不保存索引信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清梦枕星河~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值