Python 写入训练日志文件并控制台输出解析


Posted in Python onAugust 13, 2019

1. 背景

在深度学习的任务中,通常需要比较长时间的训练,因此我们会选择离开电脑。笔者在跟踪模型表现,

观察模型accuracy 以及 loss 的时候,比较传统的方法是在控制台print输出或者直接使用tensorboard。

但如果是你需要远程观察模型表现,那一个时刻记录的log 文件就非常重要。

(如果你希望不在实验室,远程通过访问正在训练网络的服务器的Jupyter Notebook ,实时查看实验进度。请参考——远程连接服务器端Jupyter Notebook)

2. logging 函数

创建 .log 文件并将一些数据在控制台输出可以通过logging 函数实现。

废话不多,直接贴代码:一下函数可以在你想要保存日志文件的路径——output_dir下生成一个.log 文件,文件名以年.月.日.时.分命名,以免重复。

import logging
import time
import os
def log_creater(output_dir):
  if not os.path.exists(output_dir):
    os.makedirs(output_dir)
  log_name = '{}.log'.format(time.strftime('%Y-%m-%d-%H-%M'))
  final_log_file = os.path.join(output_dir,log_name)
  # creat a log
  log = logging.getLogger('train_log')
  log.setLevel(logging.DEBUG)

  # FileHandler
  file = logging.FileHandler(final_log_file)
  file.setLevel(logging.DEBUG)

  # StreamHandler
  stream = logging.StreamHandler()
  stream.setLevel(logging.DEBUG)

  # Formatter
  formatter = logging.Formatter(
    '[%(asctime)s][line: %(lineno)d] ==> %(message)s')

  # setFormatter
  file.setFormatter(formatter)
  stream.setFormatter(formatter)

  # addHandler
  log.addHandler(file)
  log.addHandler(stream)

  log.info('creating {}'.format(final_log_file))
  return log

3. 结果

保存后的日志文件差不多就是这样:

Python 写入训练日志文件并控制台输出解析

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python字符遍历的艺术
Sep 06 Python
跟老齐学Python之类的细节
Oct 13 Python
Python 中 Meta Classes详解
Feb 13 Python
python 捕获shell脚本的输出结果实例
Jan 04 Python
Python3安装Scrapy的方法步骤
Nov 23 Python
详解python 注释、变量、类型
Aug 10 Python
Python中的Numpy矩阵操作
Aug 12 Python
解决Python获取字典dict中不存在的值时出错问题
Oct 17 Python
pandas 透视表中文字段排序方法
Nov 16 Python
pycharm new project变成灰色的解决方法
Jun 27 Python
python2和python3哪个使用率高
Jun 23 Python
使用PyCharm官方中文语言包汉化PyCharm
Nov 18 Python
基于MATLAB和Python实现MFCC特征参数提取
Aug 13 #Python
Python 使用 docopt 解析json参数文件过程讲解
Aug 13 #Python
Django项目中实现使用qq第三方登录功能
Aug 13 #Python
一篇文章搞定Python操作文件与目录
Aug 13 #Python
Python Django Cookie 简单用法解析
Aug 13 #Python
Django中ajax发送post请求 报403错误CSRF验证失败解决方案
Aug 13 #Python
Python人工智能之路 jieba gensim 最好别分家之最简单的相似度实现
Aug 13 #Python
You might like
几道坑人的PHP面试题 试试看看你会不会也中招
2014/08/19 PHP
详解PHP匿名函数与注意事项
2016/03/29 PHP
PHP如何使用Memcached
2016/04/05 PHP
JavaScript实现两个Table固定表头根据页面大小自行调整
2014/01/03 Javascript
为jQuery添加Webkit的触摸的方法分享
2014/02/02 Javascript
JavaScript获取某年某月的最后一天附截图
2014/06/23 Javascript
用javascript将数据导入Excel示例代码
2014/09/10 Javascript
js实现背景图片感应鼠标变化的方法
2015/02/28 Javascript
你一定会收藏的Nodejs代码片段
2016/02/04 NodeJs
详解NodeJs支付宝移动支付签名及验签
2017/01/06 NodeJs
jQuery弹出层插件popShow(改进版)用法示例
2017/01/23 Javascript
基于Marquee.js插件实现的跑马灯效果示例
2017/01/25 Javascript
vue2.0 axios前后端数据处理实例代码
2017/06/30 Javascript
JS实现字符串翻转的方法分析
2018/08/31 Javascript
详解小程序循环require之坑
2019/03/08 Javascript
JavaScript Array对象基本方法详解
2019/09/03 Javascript
JavaScript实现图片上传并预览并提交ajax
2019/09/30 Javascript
Python读取Excel表格,并同时画折线图和柱状图的方法
2018/10/14 Python
python连接mongodb密码认证实例
2018/10/16 Python
Python3 使用cookiejar管理cookie的方法
2018/12/28 Python
Python中断多重循环的思路总结
2019/10/04 Python
Python脚本操作Excel实现批量替换功能
2019/11/20 Python
CSS3 实现发光边框特效
2020/11/11 HTML / CSS
html5 利用canvas实现超级玛丽简单动画
2013/09/06 HTML / CSS
让IE下支持Html5的placeholder属性的插件
2014/09/02 HTML / CSS
LivingSocial爱尔兰:爱尔兰本地优惠
2018/08/10 全球购物
华为慧通面试题
2012/09/11 面试题
毕业生求职简历的自我评价
2013/10/07 职场文书
优秀员工自荐书
2013/12/19 职场文书
给领导的检讨书
2014/02/16 职场文书
幼儿园区域活动总结
2014/05/08 职场文书
项目经理任命书内容
2014/06/06 职场文书
2015年财务试用期工作总结
2014/12/24 职场文书
卡特教练观后感
2015/06/08 职场文书
七年级之开学家长寄语35句
2019/09/05 职场文书
读《皮囊》有感:理解是对他人的最大的善举
2019/11/14 职场文书