8.3 TensorBoard使用:图像可视化、卷积核特征图可视化、网络可视化
一、add_image()方法 、torchvision.utils.make_grid 二、AlexNet卷积核与特征图可视化 三、add_graph、torchsummary
一、图像可视化1. add_image()方法可以将2d的张量或者3d的张量进行可视化。 dataformats:数据形式。有三种模式可以选。C是通道。 img_tensor:图像数据。这里要注意图像尺度。如果整个数据的范围都是0-1之间的话,就会默认乘以255。如果有像素值大于1的话,就不放到了。
例:
img1:默认是CHW的。 img2:因为数值都是1.所以会变为255。也就是显示的是一张白色的图。 img3:因为数值都是1.1,所以不会变成255。最后显示的是 一张黑色的图。 img4:灰度图。 img5:跟图像1一样。
结果:
2. torchvision.utils.make_grid()但是,在可视化中发现,5张图像都是在不同界面中,需要用鼠标拖动才能看。我们想在一个界面里看多张图像。 这时我们就可以用到pytorch提供的非常实用的函数,make_grid。
tensor:图像数据。可以根据batch,输入数据。B:batchsize;C:通道;H:高;W:宽。 nrow: 行数。B张图像显示成多少行。 padding:图像与图像之间的距离。 normalize:是否将像素值进行标准化。 range:也是与标准化有关的参数。设置一个标准化的范围。比如当前数据的尺度是[-1000, 2000],但是有的像素值我们可能并不关心。比如,我们只关心一部分,例如可以设置range为[-600, 500]。这样当像素值小于-600时,就会变成-600。当大于500的时候,就会变成500。然后再把[-600, 500]映射到[0, 255]。 scale_each:也是标准化相关的参数。 pad_val:padding是什么颜色。通常黑色。
例:
结果:
二、卷积核可视化、特征图可视化
略。下载模型太慢了。
三、网络可视化1. add_graph()例:
结果:
2. torchsummary()查看模型信息。
例:
结果:
|