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解析网页源代码中的115网盘链接实例
Sep 30 Python
pymssql数据库操作MSSQL2005实例分析
May 25 Python
Python读写txt文本文件的操作方法全解析
Jun 26 Python
Python中取整的几种方法小结
Jan 06 Python
Python字典数据对象拆分的简单实现方法
Dec 05 Python
Java实现的执行python脚本工具类示例【使用jython.jar】
Mar 29 Python
Python mutiprocessing多线程池pool操作示例
Jan 30 Python
Python中的Socket 与 ScoketServer 通信及遇到问题解决方法
Apr 01 Python
python3中替换python2中cmp函数的实现
Aug 20 Python
关于tensorflow的几种参数初始化方法小结
Jan 04 Python
完美解决TensorFlow和Keras大数据量内存溢出的问题
Jul 03 Python
pytest进阶教程之fixture函数详解
Mar 29 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连接数据库代码应用分析
2011/05/29 PHP
php 深入理解strtotime函数的使用详解
2013/05/23 PHP
无需数据库在线投票调查php代码
2016/07/20 PHP
PHP实现QQ快速登录的方法
2016/09/28 PHP
支付宝支付开发――当面付条码支付和扫码支付实例
2016/11/04 PHP
Jquery 表单取值赋值的一些基本操作
2009/10/11 Javascript
js实现上传图片之上传前预览图片
2013/03/25 Javascript
树结构之JavaScript
2017/01/24 Javascript
Js apply方法详解
2017/02/16 Javascript
thinkphp标签实现bootsrtap轮播carousel实例代码
2017/02/19 Javascript
NodeJs中express框架的send()方法简介
2017/06/20 NodeJs
Vue2.0用 watch 观察 prop 变化(不触发)
2017/09/08 Javascript
去掉vue 中的代码规范检测两种方法(Eslint验证)
2018/03/21 Javascript
JS中数据结构之栈
2019/01/01 Javascript
小程序关于请求同步的总结
2019/05/05 Javascript
JavaScript this使用方法图解
2020/02/04 Javascript
vue style width a href动态拼接问题的解决
2020/08/07 Javascript
[44:40]2018DOTA2亚洲邀请赛3月30日 小组赛A组Liquid VS OG
2018/03/31 DOTA
[01:07:15]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第二场 1月25日
2021/03/11 DOTA
Python实现的石头剪子布代码分享
2014/08/22 Python
python3实现ftp服务功能(客户端)
2017/03/24 Python
深入理解python中的select模块
2017/04/23 Python
python opencv之SURF算法示例
2018/02/24 Python
Python3基于sax解析xml操作示例
2018/05/22 Python
python实现微信机器人: 登录微信、消息接收、自动回复功能
2019/04/29 Python
pandas DataFrame索引行列的实现
2019/06/04 Python
Python帮你微信头像任意添加装饰别再@微信官方了
2019/09/25 Python
利用CSS3实现自定义滚动条代码分享
2016/08/18 HTML / CSS
CSS的background属性及CSS3的背景图片设置总结
2016/06/13 HTML / CSS
英国Flybe航空官网:欧洲最大的独立支线廉价航空公司
2019/07/15 全球购物
家具促销活动方案
2014/02/16 职场文书
高中班主任评语大全
2014/04/25 职场文书
上课睡觉检讨书300字
2014/11/18 职场文书
2015年煤矿安全工作总结
2015/05/23 职场文书
利用uni-app生成微信小程序的踩坑记录
2022/04/05 Javascript
Elasticsearch 索引操作和增删改查
2022/04/19 Python