logging日志+tensorboard可视化+time时间

添加日志:

import logging
def get_logger(file_path):
    # getLogger返回具有指定 name 的日志记录器,或者当 name 为 None 时返回层级结构中的根日志记录器
    logger = logging.getLogger('my_logger')
    log_format = '%(asctime)s | %(message)s'
    # Formatter实例将使用整个消息的格式字符串以及消息的日期/时间部分的格式字符串进行初始化#eg:07/03 11:52:46 AM
    formatter = logging.Formatter(log_format, datefmt='%m/%d %I:%M:%S %p')
    # 返回一个 FileHandler 类的新实例。 将打开指定的文件并将其用作日志记录流。
    file_handler = logging.FileHandler(file_path)
    # .setFormatter将此处理器的Formatter设置为formatter
    file_handler.setFormatter(formatter)
    # 返回一个新的StreamHandler类
    # 可将日志记录输出发送到数据流例如 sys.stdout, sys.stderr 或任何文件类对象
    stream_handler = logging.StreamHandler()
    stream_handler.setFormatter(formatter)
    # .addHandler将指定的处理器file_handler添加到此记录器
    logger.addHandler(file_handler)
    logger.addHandler(stream_handler)
    # .setLevel 给记录器设置阈值为 level<INFO> 。日志等级小于 level 会被忽略
    logger.setLevel(logging.INFO)

    return logger

logger = get_logger("文件名")
# 想要保存的日志内容可按如下格式
logger.info("Logger is set - {} training start".format(testname))

logger.info()中可使用format函数,例如下:

logger.info("epoch: {}/{}  step: {}/{}   "
            "train_loss: {:.5g}   "
            "train_R2: {:.5g}".format(epoch+1,
                                      epochs,
                                      j+1,
                                      len(trainloader.dataset)//BATCH+1,
                                      loss/BATCH,
                                      r2_score(y.cpu().detach(), y_pre.cpu().detach()))
           )

添加tensorboard可视化:

from torch.utils.tensorboard import SummaryWriter
# testname为新创建的文件夹名称(路径)
writer = SummaryWriter(testname)
# 值
writer.add_scalar('train_loss', train_loss, epoch + 1)
writer.add_scalar('train_R2', train_R2, epoch + 1)

 实现可视化步骤(进入终端,并进入对应环境):

tensorboard --logdir=路径名

将得到的网站信息在浏览器打开即可

添加整段代码运行时间信息:

import time
time_start = time.time()


#主体代码部分


time_end = time.time()
time_sum = time_end - time_start
logger.info('训练时间 {:.0f}分 {:.0f}秒'.format(time_sum // 60, time_sum % 60))

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值