1.作为一个深度学习的新手小白,想在训练的时候对于每个epoch的训练进行输出可视化。tensorboard是个好用的工具。代码如下:
log_writer=SummaryWriter(log_dir="logs")#文件夹名
log_writer.add_scalar("train_loss_epoche",train_loss,epoch)
log_writer.add_scalar("val_loss_epoche",val_loss,epoch) #给损失函数画图 log_writer.add_images("train_figure_epoche",np.array([output_train]),epoch,dataformats='CHW')
log_writer.add_images("val_figure_epoche",output_val,epoch,dataformats='CHW')#给每层的epoch输出画图
log_writer.close()
经过可视化之后,离谱的是我的损失函数是在正常下降,而且生成的权重经过测试之后效果是正确的,但是每个epoch的输出显示 有误。经过一系列的排查,发现是tensorboard的显示原因!
tensorboard的数据输入之前一定要归一化,如果没有归一化,显示出来的图可能不是你想要的图,影响对训练的判断!!!!!!!!!!!
当然很多做cv的uu们,会在数据集载入的时候就会做transform.normalize(),进行数据归一化。但是我由于做的项目的原因暂时无法对真值做归一化处理,导致数据在进入tensorboard之前没有归一化。
如果可以在载入的时候就做归一化是最好的,后面会省掉很多麻烦!!!!!!