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 命令行非阻塞输入的小例子
Sep 27 Python
python下调用pytesseract识别某网站验证码的实现方法
Jun 06 Python
Python中列表与元组的乘法操作示例
Feb 10 Python
使用Python向C语言的链接库传递数组、结构体、指针类型的数据
Jan 29 Python
python射线法判断检测点是否位于区域外接矩形内
Jun 28 Python
Django如何简单快速实现PUT、DELETE方法
Jul 24 Python
决策树剪枝算法的python实现方法详解
Sep 18 Python
Python中如何添加自定义模块
Jun 09 Python
Python+PyQt5+MySQL实现天气管理系统
Jun 16 Python
什么是python的必选参数
Jun 21 Python
python中用ctypes模拟点击的实例讲解
Nov 26 Python
详解Python+OpenCV绘制灰度直方图
Mar 22 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/01/06 PHP
PHP会话操作之cookie用法分析
2016/09/28 PHP
thinkPHP5框架中widget的功能与用法详解
2018/06/11 PHP
js中的事件捕捉模型与冒泡模型实例分析
2015/01/10 Javascript
JS上传组件FileUpload自定义模板的使用方法
2016/05/10 Javascript
基于js文件加载优化(详解)
2018/01/03 Javascript
Vue下拉框回显并默认选中随机问题
2018/09/06 Javascript
axios对请求各种异常情况处理的封装方法
2018/09/25 Javascript
vue里的data要用return返回的原因浅析
2019/05/28 Javascript
vue项目中定义全局变量、函数的几种方法
2019/11/08 Javascript
在 Vue 中编写 SVG 图标组件的方法
2020/02/24 Javascript
微信小程序如何加载数据库真实数据的实现
2020/03/04 Javascript
Python实现的数据结构与算法之队列详解
2015/04/22 Python
Python实现二维有序数组查找的方法
2016/04/27 Python
python 2.7.14安装图文教程
2018/04/08 Python
python监控进程脚本
2018/04/12 Python
python使用turtle库绘制时钟
2020/03/25 Python
Python中的几种矩阵乘法(小结)
2019/07/10 Python
pytorch中的weight-initilzation用法
2020/06/24 Python
详解python logging日志传输
2020/07/01 Python
python rsa-oaep加密的示例代码
2020/09/23 Python
Python爬虫逆向分析某云音乐加密参数的实例分析
2020/12/04 Python
Python try except finally资源回收的实现
2021/01/25 Python
Rosetta Stone官方网站:语言学习
2019/01/05 全球购物
美国滑板店:Tactics
2020/11/08 全球购物
工地安全检查制度
2014/02/04 职场文书
项目总经理岗位职责
2014/02/14 职场文书
后勤主管岗位职责
2014/03/01 职场文书
演讲稿的格式及范文
2014/08/22 职场文书
五好家庭事迹材料
2014/12/20 职场文书
神龙架导游词
2015/02/11 职场文书
如何写新闻稿
2015/07/18 职场文书
2016教师给学生的毕业寄语
2015/12/04 职场文书
2016年学校招生广告语
2016/01/28 职场文书
Python爬虫之爬取二手房信息
2021/04/27 Python
CSS 实现Chrome标签栏的技巧
2021/08/04 HTML / CSS