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实现同时兼容老版和新版Socket协议的一个简单WebSocket服务器
Jun 04 Python
跟老齐学Python之字典,你还记得吗?
Sep 20 Python
在Python的Django框架中包装视图函数
Jul 20 Python
Python实现将数据库一键导出为Excel表格的实例
Dec 30 Python
面向对象学习之pygame坦克大战
Sep 11 Python
python 字典的打印实现
Sep 26 Python
pygame实现俄罗斯方块游戏(基础篇3)
Oct 29 Python
python 调试冷知识(小结)
Nov 11 Python
python统计函数库scipy.stats的用法解析
Feb 25 Python
opencv python 图片读取与显示图片窗口未响应问题的解决
Apr 24 Python
Python 发送SMTP邮件的简单教程
Jun 24 Python
Python中的变量与常量
Nov 11 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中将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串
2011/08/23 PHP
PHP开发工具ZendStudio下Xdebug工具使用说明详解
2013/11/11 PHP
PHP处理会话函数大总结
2015/08/05 PHP
静态html文件执行php语句的方法(推荐)
2016/11/21 PHP
jquery delay()介绍及使用指南
2014/09/02 Javascript
NodeJS中利用Promise来封装异步函数
2015/02/25 NodeJs
jQuery实现的进度条效果
2015/07/15 Javascript
JS实现左右拖动改变内容显示区域大小的方法
2015/10/13 Javascript
详解JavaScript中的Unescape()和String() 函数
2015/11/09 Javascript
JS+CSS实现鼠标经过弹出一个DIV框完整实例(带缓冲动画渐变效果)
2016/03/25 Javascript
原生js实现百叶窗效果及原理介绍
2016/04/12 Javascript
前端学习笔记style,currentStyle,getComputedStyle的用法与区别
2016/05/28 Javascript
Bootstrap风格的WPF样式
2016/12/07 Javascript
JS无缝滚动效果实现方法分析
2016/12/21 Javascript
创建一般js对象的几种方式
2017/01/19 Javascript
JavaScript函数表达式详解及实例
2017/05/05 Javascript
JavaScript中call和apply方法的区别实例分析
2018/08/03 Javascript
swiper.js插件实现pc端文本上下滑动功能示例
2018/12/03 Javascript
解决layui页面按钮点击无反应,也不报错的问题
2019/09/29 Javascript
js实现经典贪吃蛇小游戏
2020/03/19 Javascript
记录一次websocket封装的过程
2020/11/23 Javascript
[01:39:42]Fnatic vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
[55:44]OG vs NAVI 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
使用python的pexpect模块,实现远程免密登录的示例
2019/02/14 Python
使用python采集Excel表中某一格数据
2020/05/14 Python
玩转CSS3色彩
2010/01/16 HTML / CSS
EVE LOM英国官网:全世界最好的洁面膏
2017/10/30 全球购物
迪士尼西班牙官方网上商店:ShopDisney西班牙
2020/02/02 全球购物
2014年公路养护工作总结
2014/12/04 职场文书
产品质量保证书范本
2015/02/27 职场文书
汽车销售员岗位职责
2015/04/11 职场文书
环保主题班会教案
2015/08/13 职场文书
Springboot如何使用logback实现多环境配置?
2021/06/16 Java/Android
html5表单的required属性使用
2021/07/07 HTML / CSS
spring cloud 配置中心客户端启动遇到的问题
2021/09/25 Java/Android
Nginx配置之禁止指定IP访问
2022/05/02 Servers