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中的装饰器的用法
Apr 24 Python
Python网站验证码识别
Jan 25 Python
windows下ipython的安装与使用详解
Oct 20 Python
Python中创建字典的几种方法总结(推荐)
Apr 27 Python
Ubuntu下Anaconda和Pycharm配置方法详解
Jun 14 Python
Python+AutoIt实现界面工具开发过程详解
Aug 07 Python
Python绘制二维曲线的日常应用详解
Dec 04 Python
Python3 实现减少可调用对象的参数个数
Dec 20 Python
PyQt5 界面显示无响应的实现
Mar 26 Python
Python爬虫定时计划任务的几种常见方法(推荐)
Jan 15 Python
pygame面向对象的飞行小鸟实现(Flappy bird)
Apr 01 Python
python多次执行绘制条形图
Apr 20 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
采用ThinkPHP中F方法实现快速缓存实例
2014/06/13 PHP
PHP中文编码小技巧
2014/12/25 PHP
php生成图片验证码-附五种验证码
2015/08/19 PHP
Javascript 检测、添加、移除样式(className)函数代码
2009/09/08 Javascript
jQuery 行背景颜色的交替显示(隔行变色)实现代码
2009/12/13 Javascript
jquery 学习笔记一
2010/04/07 Javascript
判断用户是否在线的代码
2011/03/05 Javascript
jQuery插件slides实现无缝轮播图特效
2015/04/17 Javascript
JavaScript基本语法学习教程
2016/01/14 Javascript
nodejs学习笔记之路由
2017/03/27 NodeJs
详解使用vuex进行菜单管理
2017/12/21 Javascript
vue-cli V3.0版本的使用详解
2018/10/24 Javascript
使用vue-router切换页面时实现设置过渡动画
2019/10/31 Javascript
利用原生JS实现欢乐水果机小游戏
2020/04/23 Javascript
vue自定义组件(通过Vue.use()来使用)即install的用法说明
2020/08/11 Javascript
[02:05]2014DOTA2西雅图国际邀请赛 BBC第二天小组赛总结
2014/07/11 DOTA
Python模拟百度登录实例详解
2016/01/20 Python
Python判断文本中消息重复次数的方法
2016/04/27 Python
python自动截取需要区域,进行图像识别的方法
2018/05/17 Python
python单例模式原理与创建方法实例分析
2019/10/26 Python
Python用input输入列表的实例代码
2020/02/07 Python
Django serializer优化类视图的实现示例
2020/07/16 Python
Python 生成短8位唯一id实战教程
2021/01/13 Python
html5使用canvas绘制太阳系效果
2014/12/15 HTML / CSS
KEETSA环保床垫:更好的睡眠,更好的生活!
2016/11/24 全球购物
购买一个高级域名:BuyDomains
2018/03/11 全球购物
荣耀俄罗斯官网:HONOR俄罗斯
2020/10/31 全球购物
酒店管理自荐信
2013/10/23 职场文书
厂长助理岗位职责
2013/12/27 职场文书
护理不良事件检讨书
2014/02/06 职场文书
学校创先争优活动总结
2014/08/28 职场文书
2014年团工作总结
2014/11/27 职场文书
学雷锋活动简报
2015/07/20 职场文书
创业不要错过,这4种餐饮新模式
2019/07/18 职场文书
详解MySQL数据库千万级数据查询和存储
2021/05/18 MySQL
SpringBoot实现quartz定时任务可视化管理功能
2021/08/30 Java/Android