跟踪并保存训练过程中的损失函数
以CornerNet为例,他的源码并没有使用损失函数可视化的功能,有时候需要查看损失函数的变化趋势来确定超参。那么此时就需要手动去记录并储存损失函数值
在train.py中,关于损失函数的部分如下所示:
with stdout_to_tqdm() as save_stdout:
for iteration in tqdm(range(start_iter + 1, max_iteration + 1), file=save_stdout, ncols=80):
training = pinned_training_queue.get(block=True)
training_loss = nnet.train(**training)
if display and iteration % display == 0:
print("training loss at iteration {}: {}".format(iteration, training_loss.item()))
del training_loss
# if val_iter and validation_db.db_inds.size and iteration % val_iter == 0:
# nnet.eval_mode()
# validation = pinned_validation_queue.get(block=True)
# validation_loss = nnet.validate(**validation)
# print("validation loss at iteration {}: {}".format(iteration

本文介绍了如何在Python中记录并绘制深度学习模型训练过程中的损失函数曲线。通过在训练脚本中添加代码保存每个迭代的损失值到txt文件,然后使用matplotlib库读取数据并平滑绘制损失曲线,以便于分析模型训练的趋势。
最低0.47元/天 解锁文章


被折叠的 条评论
为什么被折叠?



