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的Supervisor进行进程监控以及自动启动
May 29 Python
深入理解Python装饰器
Jul 27 Python
python 实现上传图片并预览的3种方法(推荐)
Jul 14 Python
Python实现扣除个人税后的工资计算器示例
Mar 26 Python
python查询mysql,返回json的实例
Mar 26 Python
python 保存float类型的小数的位数方法
Oct 17 Python
一篇文章了解Python中常见的序列化操作
Jun 20 Python
VSCode中自动为Python文件添加头部注释
Nov 14 Python
Python socket连接中的粘包、精确传输问题实例分析
Mar 24 Python
python3 logging日志封装实例
Apr 08 Python
python中rb含义理解
Jun 18 Python
python批量处理多DNS多域名的nslookup解析实现
Jun 28 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 Class SoapClient not found解决方法
2018/01/20 PHP
php面向对象重点知识分享
2019/09/27 PHP
去掉gridPanel表头全选框的小例子
2013/07/18 Javascript
JS操作Cookies的小例子
2013/10/15 Javascript
js利用prototype调用Array的slice方法示例
2014/06/09 Javascript
javascript制作的滑动图片菜单
2015/05/15 Javascript
jQuery leonaScroll 1.1 自定义滚动条插件(推荐)
2016/09/17 Javascript
深入理解JavaScript定时机制
2016/10/27 Javascript
vue-resource 拦截器使用详解
2017/02/21 Javascript
详解angularJS动态生成的页面中ng-click无效解决办法
2017/06/19 Javascript
vue组件传递对象中实现单向绑定的示例
2018/02/28 Javascript
javascript 代码是如何被压缩的示例代码
2020/05/06 Javascript
python实现中文输出的两种方法
2015/05/09 Python
Flask框架的学习指南之开发环境搭建
2016/11/20 Python
用Python将mysql数据导出成json的方法
2018/08/21 Python
Python txt文件加入字典并查询的方法
2019/01/15 Python
Python通过for循环理解迭代器和生成器实例详解
2019/02/16 Python
Python3使用腾讯云文字识别(腾讯OCR)提取图片中的文字内容实例详解
2020/02/18 Python
keras 回调函数Callbacks 断点ModelCheckpoint教程
2020/06/18 Python
Python 如何创建一个线程池
2020/07/28 Python
Django框架安装及项目创建过程解析
2020/09/14 Python
selenium+超级鹰实现模拟登录12306
2021/01/24 Python
html5菜单折纸效果
2014/04/22 HTML / CSS
新西兰最大的在线设计师眼镜店:SmartBuyGlasses新西兰
2017/10/20 全球购物
Surfdome西班牙:世界上最受欢迎的生活方式品牌
2019/02/13 全球购物
俄罗斯三星品牌商店:GalaxyStore
2020/11/04 全球购物
JSF面试题:Jsf中导航的标签是什么
2013/04/20 面试题
计算机求职信
2013/12/01 职场文书
电脑销售顾问自荐信
2014/01/29 职场文书
感恩父母的演讲稿
2014/05/06 职场文书
司机岗位职责说明书
2014/07/29 职场文书
医学专业大学生职业生涯规划书
2014/10/25 职场文书
党员转正介绍人意见
2015/06/03 职场文书
2016年春季趣味运动会开幕词
2016/03/04 职场文书
nginx的zabbix 5.0安装部署的方法步骤
2021/07/16 Servers
Python利用capstone实现反汇编
2022/04/06 Python