tensorboard导出曲线数据,python重绘

目录

前言

数据保存为csv文件

python绘制曲线图


前言

tensorboard通常被用来实时记录训练过程中的损失曲线,有的时候我们需要导出这些曲线图,这里我介绍一种从tensorboard导出数据,并使用python重新绘制曲线的方法。

数据保存为csv文件

首先点击左上角的SCALARS

image-20231222222442549

然后勾选上Show data down links这一选项

image-20231222222536392

会发现图像右下角多了一部分,点击右下角画框部分

image-20231222222641300

点击出现的这个点

image-20231222222726779

点击csv

image-20231222222818464

这时候便会下载下来数据

image-20231222222848299

python绘制曲线图

接下来我们使用python来绘制曲线图

 import pandas as pd
 import matplotlib.pyplot as plt
 ​
 # 读取第一个CSV文件
 csv_file_path1 = 'test_loss.csv'  # 替换为第一个CSV文件的路径
 df1 = pd.read_csv(csv_file_path1, header=None, skiprows=1)
 ​
 # 提取第一个CSV文件的x和y轴数据
 x_data1 = df1.iloc[1:, 1].astype(float)
 y_data1 = df1.iloc[1:, 2].astype(float)
 ​
 # 读取第二个CSV文件
 csv_file_path2 = 'train_loss.csv'  # 替换为第二个CSV文件的路径
 df2 = pd.read_csv(csv_file_path2, header=None, skiprows=1)
 ​
 # 提取第二个CSV文件的x和y轴数据
 x_data2 = df2.iloc[1:, 1].astype(float)
 y_data2 = df2.iloc[1:, 2].astype(float)
 ​
 # 设置绘图风格,使用科学论文常见的线条样式和颜色
 plt.style.use('seaborn-whitegrid')
 ​
 # 设置字体和字号
 font = {'family': 'serif',
         'serif': 'Times New Roman',
         'weight': 'normal',
         'size': 15,
         }
 plt.rc('font', **font)
 ​
 ​
 # 绘制第一幅图像
 plt.figure(1)
 plt.plot(x_data1, y_data1,color='blue', linewidth=2)
 plt.xlabel('epochs')
 plt.ylabel('test_loss')
 plt.title('test_loss')
 ​
 plt.tight_layout()
 # 调整布局使得图像不溢出
 plt.savefig('test_loss.svg', format='svg', bbox_inches='tight')
 ​
 ​
 # 绘制第二幅图像
 plt.figure(2)
 plt.plot(x_data2, y_data2, color='red', linewidth=2)
 plt.xlabel('epochs')
 plt.ylabel('train_loss')
 plt.title('train_loss')
 ​
 plt.tight_layout()
 # 调整布局使得图像不溢出
 plt.savefig('train_loss.svg', format='svg', bbox_inches='tight')
 ​
 # 显示图形
 plt.show()
 ​

使用python重绘后的图像

image-20231222223101443

  • 14
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

一只通信仔

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

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

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

打赏作者

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

抵扣说明:

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

余额充值