1、写入txt
在云服务器上训练模型的时候,防止不显示输出,可以将训练日志写入txt
import os
import logging
# 设置日志文件路径
log_file = './log.txt'
# 获取文件夹路径并创建它
log_folder = os.path.dirname(log_file)
os.makedirs(log_folder, exist_ok=True)
# 检查日志文件是否存在,如果不存在则创建
if not os.path.isfile(log_file):
open(log_file, 'w').close()
#初始化文件,filemode=w每次覆盖文件
logging.basicConfig(filename=log_file ,
format = '%(asctime)s - %(name)s - %(levelname)s - %(message)s-%(funcName)s',
level=logging.INFO,
filemode='w')
#在dataloader前加个enumerate,可以取出序号
for x,data in tqdm(enumerate(train_dataloader)):
#写入文件
logging.info(
"[batch:{:<5}/{:<5}] ".format(x, train_data_size//train_dataloader.batch_size) +
"lr:{:.6f} ".format(optimizer.param_groups[0]['lr']) +
"loss:{:.6f} ".format(total_train_loss) +
"acc:{:.6f} ".format(train_accuracy)
得到结果显示如下,能显示还有多少batch没训练完,在dataloader前加个enmuerate可以取出序号