怎么用pandas记录训练数据

  参考资料:之前借鉴过的代码

  pandas是python中用于数据处理的一个很方便的包,一般我们希望在训练的时候将相关的训练数据记录在一个csv文件中,这样能方便我们监控实验进程,效果如下所示:

  那么该如何完成这一需求?两种办法:

  1. 新建链表保存数据,整个存入csv文件

import pandas as pd

result_loss = []
result_psnr = []

for ...
    """
    训练过程
    """

    result_loss.append(loss.item())
    result_psnr.append(psnr.item())
    
    if(i%n_save==0):
        out_path = './statistics/'              
        data_frame = pd.DataFrame(
                data={'Loss': result_loss, 'PSNR': result_psnr},
                index=range(1, i + 1))
        data_frame.to_csv(out_path + args.expname + '_train_results.csv', index_label='Epoch')

  这种方法的思路很直接,新建列表保存训练中数值,然后每隔若干epochs便重新写入完成的csv。

  2. 在已有的csv文件后append新数据

  和上面的写法类似,只是我们可以不用始终维持一个大的列表,并且写入模式要设置为append。

import pandas as pd

result_loss = []
result_psnr = []
out_path = './statistics/'              
data_frame = pd.DataFrame(
                data={'Loss': result_loss, 'PSNR': result_psnr})
data_frame.to_csv(out_path + args.expname + '_train_results.csv', index_label='Epoch')

for ...
    """
    训练过程
    """

    result_loss.append(loss.item())
    result_psnr.append(psnr.item())
    
    if(i%n_save==0):
        out_path = './statistics/'              
        data_frame = pd.DataFrame(
                data={'Loss': result_loss, 'PSNR': result_psnr},
                index=range(1, i + 1))
        data_frame.to_csv(out_path + args.expname + '_train_results.csv',mode='a', index=False, header=False)
        result_loss = []
        result_psnr = []

  append的代码我没有测试过,不过思路大致是这样的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值