目录
记录日志
python自带logging模块
多GPU训练
import logging
logger = logging.getLogger('XX模型指标记录器')
file_handler = logging.FileHandler(
filename='./draft/test.log', # 日志记录文件
encoding='utf-8', # 日志文件编码方式
mode='a' # 日志文件打开模式:a代表追加,w代表覆盖
)
formatter = logging.Formatter("%(asctime)s - %(name)s-%(levelname)s %(message)s")
file_handler.setFormatter(formatter)
logger.addHandler(file_handler)
logger.setLevel(logging.INFO)
logger.debug('debug,用来打印一些调试信息,级别最低')
logger.info('info,用来打印一些正常的操作信息')
logger.warning('waring,用来用来打印警告信息')
logger.error('error,一般用来打印一些错误信息')
logger.critical('critical,用来打印一些致命的错误信息,等级最高')
然后会生成test.log文件,内容如下:
2022-11-28 13:06:46,056 - XX模型指标记录器-DEBUG debug,用来打印一些调试信息,级别最低
2022-11-28 13:06:46,056 - XX模型指标记录器-INFO info,用来打印一些正常的操作信息
2022-11-28 13:06:46,056 - XX模型指标记录器-WARNING waring,用来用来打印警告信息
2022-11-28 13:06:46,056 - XX模型指标记录器-ERROR error,一般用来打印一些错误信息
2022-11-28 13:06:46,056 - XX模型指标记录器-CRITICAL critical,用来打印一些致命的错误信息,等级最高
如果只是想在控制台输出,不输出到文件,则直接:
import logging
logging.basicConfig(format = '%(asctime)s - %(name)s - %(levelname)s - %(message)s-%(funcName)s',
level=logging.INFO)
logging.debug('debug,用来打印一些调试信息,级别最低')
logging.info('info,用来打印一些正常的操作信息')
logging.warning('waring,用来用来打印警告信息')
logging.error('error,一般用来打印一些错误信息')
logging.critical('critical,用来打印一些致命的错误信息,等级最高')
logging可以参考:
Python实用教程系列——Logging日志模块 - 知乎
参考:pytorch多GPU并行训练教程_哔哩哔哩_bilibili