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 相关文章推荐
Pthon批量处理将pdb文件生成dssp文件
Jun 21 Python
Python语法快速入门指南
Oct 12 Python
全面了解Python环境配置及项目建立
Jun 30 Python
python使用SMTP发送qq或sina邮件
Oct 21 Python
Python cookbook(数据结构与算法)同时对数据做转换和换算处理操作示例
Mar 23 Python
python获取url的返回信息方法
Dec 17 Python
PyTorch搭建多项式回归模型(三)
May 22 Python
python实现beta分布概率密度函数的方法
Jul 08 Python
Python 正则表达式 re.match/re.search/re.sub的使用解析
Jul 22 Python
pytorch中的weight-initilzation用法
Jun 24 Python
matplotlib 多个图像共用一个colorbar的实现示例
Sep 10 Python
python Scrapy框架原理解析
Jan 04 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数组无限分级数据的层级化处理代码
2012/12/29 PHP
JavaScript中的其他对象
2008/01/16 Javascript
JavaScript 动态生成方法的例子
2009/07/22 Javascript
jQuery 学习第五课 Ajax 使用说明
2010/05/17 Javascript
jQuery Deferred和Promise创建响应式应用程序详细介绍
2013/03/05 Javascript
Javascript实现滑块滑动改变值的实现代码
2013/04/12 Javascript
js和html5实现手机端刮刮卡抽奖效果完美兼容android/IOS
2013/11/18 Javascript
js操作滚动条事件实例
2015/01/29 Javascript
Jquery异步提交表单代码分享
2015/03/26 Javascript
jQuery插件Tooltipster实现漂亮的工具提示
2015/04/12 Javascript
javascript实现可拖动变色并关闭层窗口实例
2015/05/15 Javascript
浅谈JQuery+ajax+jsonp 跨域访问
2016/06/25 Javascript
jQuery实现的选择商品飞入文本框动画效果完整实例
2016/08/10 Javascript
浅谈jQuery this和$(this)的区别及获取$(this)子元素对象的方法
2016/11/29 Javascript
JS实现table表格固定表头且表头随横向滚动而滚动
2017/10/26 Javascript
webpack配置导致字体图标无法显示的解决方法
2018/03/06 Javascript
微信小程序实现留言功能
2018/10/31 Javascript
记一次用vue做的活动页的方法步骤
2019/04/11 Javascript
JS大坑之19位数的Number型精度丢失问题详解
2019/04/22 Javascript
Vue设置长时间未操作登录自动到期返回登录页
2020/01/22 Javascript
pytyon 带有重复的全排列
2013/08/13 Python
python实现的登录和操作开心网脚本分享
2014/07/09 Python
浅析Python的web.py框架中url的设定方法
2016/07/11 Python
Python数据结构之图的应用示例
2018/05/11 Python
Python数据持久化shelve模块用法分析
2018/06/29 Python
selenium python 实现基本自动化测试的示例代码
2019/02/25 Python
Sentry错误日志监控使用方法解析
2020/11/12 Python
你应该知道的30个css选择器
2014/03/19 HTML / CSS
一款纯css3实现的颜色渐变按钮的代码教程
2014/11/12 HTML / CSS
HTML5 weui使用笔记
2019/11/21 HTML / CSS
物理系毕业生自荐信
2013/11/01 职场文书
医药销售求职信范文
2014/02/01 职场文书
《王二小》教学反思
2014/02/27 职场文书
2015年安全生产责任书
2015/01/30 职场文书
酒店前台岗位职责
2015/04/16 职场文书
分析JVM源码之Thread.interrupt系统级别线程打断
2021/06/29 Java/Android