pyhton 使用 logging 打印深度学习模型训练日志

初始化logging:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @Time    : 2022/3/30 20:51
# @Author  : xx
import logging
import os
import time
import utils.config as cf


def getLogger():
    logger = logging.getLogger()
    logger.setLevel(logging.INFO)  # Log等级总开关
    formatter = logging.Formatter(fmt="[%(asctime)s|%(filename)s|%(levelname)s] %(message)s",
                                  datefmt="%a %b %d %H:%M:%S %Y")
    # StreamHandler
    sHandler = logging.StreamHandler()
    sHandler.setFormatter(formatter)
    logger.addHandler(sHandler)

    # FileHandler
    work_dir = os.path.join(cf.train_log,
                            time.strftime("%Y-%m-%d-%H.%M", time.localtime()))  # 日志文件写入目录
    if not os.path.exists(work_dir):
        os.makedirs(work_dir)
    fHandler = logging.FileHandler(work_dir + '/log.txt', mode='w')
    fHandler.setLevel(logging.DEBUG)  # 输出到file的log等级的开关
    fHandler.setFormatter(formatter)  # 定义handler的输出格式
    logger.addHandler(fHandler)  # 将logger添加到handler里面

    return logger

使用logging:

# 获取logger
logger = getLogger()
logger.info('train|epoch:{epoch}\tstep:{step}/{all_step}\tloss:{loss:.4f}'.format(epoch=epo, step=index + 1,all_step=len(train_loader), loss=loss.item()))  # 打印训练日志

结果:
pyhton 使用 logging 打印深度学习模型训练日志_第1张图片

你可能感兴趣的:(Python,python,日志)