可视化
神经网络训练可视化
TensorBoard
TensorBoard是一款强大的深度学习可视化工具,可以配合pytorch将模型细节进行可视化,本文将介绍三种初步用法。进阶查看网络卷积层等后续使用在进行介绍,单详细通过学习初步的用法后后续根据其它网络教程也很容易实现
应用安装
安装TensorBoard (按住默认最新版,老版本在可视化梯度中存在问题)pip install TensorBoard
引用
1 | from torch.utils.tensorboard import SummaryWriter |
可视化
图像可视化
imgs 是图像DataLoader类,可视化能够实现将一组batch图像进行可视化。
在进行图像可视化的时候,如果tensor数据是0到1则会自动扩大244倍,数据超过1则默认数据范围为0到244。如果图像在可视化之前还进行了额外的操作,需要进行相反的操作才能正常可视化
1 | # images:可视化画布名称,imgsDataLoader类,steps每次训练的数据 |
折线图可视化
1 | writer.add_scalar('loss',loss, step) |
模型可视化
模型可视化稍微不同上面两种需要在训练循环中引入
1 | # 创建假的图像需要和原始图像形状相同,还需要同模型在一个device上。 |
查看
在终端中输入tensotboard --logdir=./
返回端口号后用浏览器打开就能查看训练过程的可视化情况了
后记
tensorboard可视化还能用于可视化模型的卷积层的参数情况,通过查看参数的可视化的情况,就能轻易的发现梯度消失和梯度爆炸的问题。可视化的同时也为模型的训练过程调参提供了便利。
CAM
CAM多用于在分类问题中使用,类激活图可以显示模型在训练过程中,权重或重心在何处、如何转移,分类模型是根据哪一部分的特征进行判别的。简而言之,就是模仿人类识别物体的过程,随着模型的迭代,找到相关任务的关键部位。
参考
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 楚天!