网络输出结果写入文件 log、txt

网络输出结果写入文件

在CNN网络训练的时候,经常需要把网络中的一些参数、结果打印出来。为了可以有效的保存这些信息,我们可以把这些结果保存在文档里面,比如txt、log等。总结了几种方法,仅供参考!

  1. 直接保存在log文件中
    直接在训练的文件xxx.py后面加上>>train.log ,
    其中 >>表示写入,不覆盖原来的信息;
    也可以这样 > 覆盖写入;
    可以在制定文件保存的路径、文件名字自己随意设置。(下面是一个参考)
    代码:
CUDA_VISIBLE_DEVICES=0 python train.py >>log_log/train-`date +%Y-%m-%d-%H-%M-%S`.log --upscale_factor 2 --patch_size 48 --batch_size 16  --n_iters 30000000 --gpu_mode True 

这个可以按照时间保存log文件,log文件中显示的是XX.py文件中打印的所有内容。
2. 电脑页面上上所有内容的保存,包括报错

#LOG=./../experiment/RC-`date +%Y-%m-%d-%H-%M-%S`.txt
CUDA_VISIBLE_DEVICES=0 python train.py  --upscale_factor 2 --patch_size 48 --batch_size 16  --n_iters 30000000 --gpu_mode True   2>&1 | tee $LOG
  1. 同时在屏幕上显示打印内容和写入文件
    有两中方法可以实现,1、用文件的写入方式;2、使用logging ;下面分别写一下我的使用过程:
  • 文件写入方式
    代码:
with open("log_log/log.txt",'a') as f:#建立.txt文件,路径+名字
      nowtime= datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')#写入时间,方便查找
      f.write('\n')  #换行
      f.write(nowtime+'\n')  #写入时间,换行
      ##txt
      i=str(idx_iter)          #.encode()#变量类型转换,一共写入3个变量,str
      loss=np.array(loss_list).mean()
      loss=str(loss)         #.encode()
      f.write('iteartion: '+i+'    ')  #写入文档
      f.write('loss: '+loss+'    ')
      f.write('lr: '+str(optimizer.param_groups[0]['lr']))
      f.write('\n')
      f.flush() #刷新
f.close()
程序运行:
直接运行就可以了,例如:python xx.py  
注意:在CNN网络中,需要调整位置。
  • logging写入
    这个刚刚接触,了解不是很多,但是和文件写入有的像。
    下面看代码:
    import logging
    logging.basicConfig(level=logging.DEBUG,
                     filename='output.log',
                     datefmt='%Y/%m/%d %H:%M:%S',
                     format='%(asctime)s - %(name)s - %(levelname)s - %(lineno)d - %(module)s - %(message)s')
    logger = logging.getLogger(__name__)
    logger.info('This is a log info')
    logger.debug('Debugging')
    logger.warning('Warning exists')
    logger.info('Finish')
    #把变量写入就可以了,可以同时在页面可文件中看到。
    
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值