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中__name__的使用实例
Apr 14 Python
Python循环语句中else的用法总结
Sep 11 Python
Python编程把二叉树打印成多行代码
Jan 04 Python
Python程序员面试题 你必须提前准备!
Jan 16 Python
深入理解Python爬虫代理池服务
Feb 28 Python
Python实现的求解最小公倍数算法示例
May 03 Python
Pycharm在创建py文件时,自动添加文件头注释的实例
May 07 Python
Python+pandas计算数据相关系数的实例
Jul 03 Python
在Python中关于使用os模块遍历目录的实现方法
Jan 03 Python
python中sys模块是做什么用的
Aug 16 Python
Python中可变和不可变对象的深入讲解
Aug 02 Python
Python Pygame实战之塔防游戏的实现
Mar 17 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中foreach循环中使用引用要注意的地方
2011/01/02 PHP
php自动提交表单的方法(基于fsockopen与curl)
2016/05/09 PHP
PHP实现生成数据字典功能示例
2018/05/24 PHP
win10下 php安装seaslog扩展的详细步骤
2020/12/04 PHP
javascript编程起步(第二课)
2007/01/10 Javascript
匹配任意字符的正则表达式写法
2010/04/29 Javascript
基于jquery的关于动态创建DOM元素的问题
2010/12/24 Javascript
修改jQuery Validation里默认的验证方法
2012/02/14 Javascript
javascript工具库代码
2012/03/29 Javascript
解析瀑布流布局:JS+绝对定位的实现
2013/05/08 Javascript
Javascript Memoizer浅析
2014/10/16 Javascript
js实现刷新iframe的方法汇总
2015/04/27 Javascript
Javascript中的getUTCDay()方法使用详解
2015/06/10 Javascript
JS实现点击按钮获取页面高度的方法
2015/11/02 Javascript
js基于setTimeout与setInterval实现多线程
2016/06/17 Javascript
微信小程序 利用css实现遮罩效果实例详解
2017/01/21 Javascript
浅谈angular.js跨域post解决方案
2017/08/30 Javascript
Js判断H5上下滑动方向及滑动到顶部和底部判断的示例代码
2017/11/15 Javascript
Angular2实现的秒表及改良版示例
2019/05/10 Javascript
这15个Vue指令,让你的项目开发爽到爆
2019/10/11 Javascript
js this 绑定机制深入详解
2020/04/30 Javascript
python实现汉诺塔方法汇总
2016/07/25 Python
基于Python_脚本CGI、特点、应用、开发环境(详解)
2017/05/23 Python
python数字图像处理实现直方图与均衡化
2018/05/04 Python
python银行系统实现源码
2019/10/25 Python
canvas实现扭蛋机动画效果的示例代码
2018/10/17 HTML / CSS
Dr. Martens马汀博士官网:马丁靴始祖品牌
2016/10/15 全球购物
ProBikeKit英国:在线公路自行车之家
2017/02/10 全球购物
Linux上比较文件的命令都有哪些
2012/02/24 面试题
Servlet如何得到服务器的信息
2015/12/22 面试题
大学毕业生最详细的自我评价分享
2013/11/18 职场文书
家庭教育先进个人事迹材料
2014/01/24 职场文书
酒店辞职书范文
2015/02/26 职场文书
三方合作意向书范本
2015/05/09 职场文书
入党后的感想
2015/08/10 职场文书
Python 中数组和数字相乘时的注意事项说明
2021/05/10 Python