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 相关文章推荐
详解字典树Trie结构及其Python代码实现
Jun 03 Python
浅析Python中的getattr(),setattr(),delattr(),hasattr()
Jun 14 Python
python 环境变量和import模块导入方法(详解)
Jul 11 Python
Python设计模式之组合模式原理与用法实例分析
Jan 11 Python
python买卖股票的最佳时机(基于贪心/蛮力算法)
Jul 05 Python
关于numpy.where()函数 返回值的解释
Dec 06 Python
python3操作注册表的方法(Url protocol)
Feb 05 Python
python 日志 logging模块详细解析
Mar 31 Python
全网首秀之Pycharm十大实用技巧(推荐)
Apr 27 Python
python 还原梯度下降算法实现一维线性回归
Oct 22 Python
手把手教你实现PyTorch的MNIST数据集
Jun 28 Python
python之PySide2安装使用及QT Designer UI设计案例教程
Jul 26 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 动态添加记录
2009/03/10 PHP
php for 循环语句使用方法详细说明
2010/05/09 PHP
mysql_escape_string()函数用法分析
2016/04/25 PHP
laravel获取不到session的三种解决办法【推荐】
2018/09/16 PHP
JavaScript中的排序算法代码
2011/02/22 Javascript
通过上下左右键和回车键切换光标实现代码
2013/03/08 Javascript
JS获取当前网址、主机地址项目根路径
2013/11/19 Javascript
jQuery(js)获取文字宽度(显示长度)示例代码
2013/12/31 Javascript
采用call方式实现js继承
2014/05/20 Javascript
javascript的函数作用域
2014/11/12 Javascript
九种原生js动画效果
2015/11/11 Javascript
NodeJS和BootStrap分页效果的实现代码
2016/11/07 NodeJs
Bootstrap下拉菜单样式
2017/02/07 Javascript
神级程序员JavaScript300行代码搞定汉字转拼音
2017/05/20 Javascript
js防刷新的倒计时代码 js倒计时代码
2017/09/06 Javascript
原生JS实现网页手机音乐播放器 歌词同步播放的示例
2018/02/02 Javascript
Vue组件开发技巧总结
2018/03/04 Javascript
vue 实现全选全不选的示例代码
2018/03/29 Javascript
ES6顶层对象、global对象实例分析
2019/06/14 Javascript
Vue-drag-resize 拖拽缩放插件的使用(简单示例)
2019/12/04 Javascript
[01:38]女王驾到——至宝魔廷新尊技能&特效展示
2020/06/16 DOTA
使用go和python递归删除.ds store文件的方法
2014/01/22 Python
Python3实现发送QQ邮件功能(html)
2017/12/15 Python
Python实现平行坐标图的两种方法小结
2019/07/04 Python
简单了解Django应用app及分布式路由
2019/07/24 Python
Python实现直方图均衡基本原理解析
2019/08/08 Python
pytorch+lstm实现的pos示例
2020/01/14 Python
Python实现异步IO的示例
2020/11/05 Python
全网最细 Python 格式化输出用法讲解(推荐)
2021/01/18 Python
详解CSS3开启硬件加速的使用和坑
2017/08/21 HTML / CSS
HTML5语义化元素你真的用对了吗
2019/08/22 HTML / CSS
伦敦一家非常流行的时尚精品店:Oxygen Boutique
2017/01/15 全球购物
eDreams澳大利亚:预订机票、酒店和度假产品
2017/04/19 全球购物
凯特王妃父母建立的派对用品网站:Party Pieces
2017/05/28 全球购物
印度购买眼镜和太阳镜网站:Coolwinks
2018/09/26 全球购物
新东网科技Java笔试题
2012/07/13 面试题