Python 写入训练日志文件并控制台输出解析
作者:SiyuanChen 发布时间:2021-10-11 01:27:10
标签:python,写入,日志,文件,控制台,输出
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. 结果
保存后的日志文件差不多就是这样:
来源:https://www.cnblogs.com/siyuan1998/p/10886958.html


猜你喜欢
- 1、监听视频滑动给 swiper 增加 @change="change",这个时间在我们完成一次滑动后执行,在 meth
- 本文实例为大家分享了JavaScript实现点击出现子菜单的具体代码,供大家参考,具体内容如下首先让我们看一下点击出现子菜单的效果如下图:点
- 我们有时候会批量处理同一个文件夹下的文件,并且希望读取到一个文件里面便于我们计算操作。比方我有下图一系列的txt文件,我该如何把它们写入一个
- 1. 反射简介1.1 反射是什么?Go语言提供了一种机制在运行时更新和检查变量的值、调用变量的方法和变量支持的内在操作,但是在编译时并不知道
- 针对排序来说,order by 是我们使用非常频繁的关键字。结合之前我们对索引的了解再来看这篇文章会让我们深刻理解在排序的时候,是如何利用索
- 看下文章前我想先说一个问题遇到问题不要盲目的搜索答案,先看看终端提示什么错误,下面我总结一下会出现jupyter notebook运行命令,
- 1、引言小丝:鱼哥, 你有没有什么办法,提取PDF文档的内容。小鱼:这个还问我??小丝:哎呀,这个不是被难住了嘛 。小鱼:有啥难得?提示你一
- 前言:这个先来创建一个模块,名称为christmastree,在该模块中,首先定义一个全局变量,然后创建一个名称为fun_christmas
- 1、使用好处提高性能:由于减去了大量新建终止线程的费用,重用了线程资源;适用场景:适用于处理大量突发请求或需要大量线程完成任务,但实际任务处
- GDAL(Geospatial Data Abstraction Library)是一个在X/MIT许可协议下的开源栅格空间数据转换库。它利
- 由于内容过多,大家可以通过ctrl+F搜索即可IE浏览器id 后缀名 php识别出的文件类型0 gif image/gif1 jpg ima
- 本文主要向大家分享了Python编程中通过Django模块实现用户注册以及邮箱验证功能的简单介绍及代码实现,具体如下。用户注册:类似于用户登
- 简单的模型例如线性回归,LR等模型非常易于解释,但在实际应用中的效果却远远低于复杂的梯度提升树模型以及神经网络等模型。现在大部分互联网公司的
- 这是一个第三方库,可以处理xlsx格式的Excel文件。pip install openpyxl安装。如果使用Aanconda,应该自带了。
- 块级元素块级元素生成一个元素框,(默认地)它会填充其父级元素的内容,旁边不能有其他元素。换句话说,他在元素框之前和之后生成了“分隔”符。我们
- 1. 欧几里德算法欧几里德算法又称辗转相除法, 用于计算两个整数a, b的最大公约数。其计算原理依赖于下面的定理:定理: gcd(a, b)
- 本文实例讲述了python基于windows平台锁定键盘输入的方法。分享给大家供大家参考。具体分析如下:pywin32中没有BlockInp
- 概述当我们使用组件库的时候,某些组件并不是直接放到模板当中进行使用,而是通过api的方式调用生成组件并且挂在到我们的页面中,其中最常见的就是
- 前言我们在日常开发中,经常会遇到一些关于文件的操作,例如,实现查看目录内容的功能。类似Linux下的tree命令。统计目录下指定后缀文件的行
- 一、背景最近学校校园网不知道是什么情况,总出现掉线的情况。每次掉线都需要我手动打开web浏览器重新进行账号密码输入,重新进行登录。系统的问题