日志文件log在python中训练时的使用
一 记录训练过程
train_metrics = {"train_loss": 5, "train_acc": 6}
val_metrics = {"val_loss": 7, "val_acc": 8}
epochs = 10
metriclog = open('metric_2' + '.log', 'w') # 创建日志文件
metriclog.write("train_loss" + " " + "train_score" + " " + "epoch" + "\n")
for epoch in range(1, epochs + 1):
train_metrics["epoch"] = epoch
metriclog.write(str(train_metrics["train_loss"])+" "+str(train_metrics["train_acc"])+" "+str(train_metrics["epoch"])+'\n')
metriclog.flush()
metriclog.close()
结果为
train_metrics = {"train_loss": 5, "train_acc": 6}
val_metrics = {"val_loss": 7, "val_acc": 8}
epochs = 10
metriclog = open('metric_2' + '.log', 'w') # 创建日志文件
metriclog.write("train_loss" + " " + "train_score" + " " + "val_loss" + " " + "val_score" + " " + "epoch" + "\n")
for epoch in range(1, epochs + 1):
val_metrics["epoch"] = epoch
metriclog.write(str(train_metrics["train_loss"]) + " " + str(train_metrics["train_acc"]) + ' ')
metriclog.write(str(val_metrics["val_loss"]) + " " + str(val_metrics["val_acc"]) + " " + str(val_metrics["epoch"]) + '\n')
metriclog.flush()
metriclog.close()
用log文件记录训练过程的优势在于,训练中打开查看log文件不会影响训练过程,不会中断程序。