8.3 TensorBoard使用:图像可视化、卷积核特征图可视化、网络可视化

 

 

 

一、add_image()方法 、torchvision.utils.make_grid

二、AlexNet卷积核与特征图可视化

三、add_graph、torchsummary

 

 

 

 

一、图像可视化

1. add_image()方法

8.3 TensorBoard使用:图像可视化、卷积核特征图可视化、网络可视化

可以将2d的张量或者3d的张量进行可视化。

dataformats:数据形式。有三种模式可以选。C是通道。

img_tensor:图像数据。这里要注意图像尺度。如果整个数据的范围都是0-1之间的话,就会默认乘以255。如果有像素值大于1的话,就不放到了。

 

例:

8.3 TensorBoard使用:图像可视化、卷积核特征图可视化、网络可视化

 

img1:默认是CHW的。

img2:因为数值都是1.所以会变为255。也就是显示的是一张白色的图。

img3:因为数值都是1.1,所以不会变成255。最后显示的是 一张黑色的图。

img4:灰度图。

img5:跟图像1一样。

 

 

结果:

8.3 TensorBoard使用:图像可视化、卷积核特征图可视化、网络可视化

 

8.3 TensorBoard使用:图像可视化、卷积核特征图可视化、网络可视化

 

8.3 TensorBoard使用:图像可视化、卷积核特征图可视化、网络可视化

8.3 TensorBoard使用:图像可视化、卷积核特征图可视化、网络可视化

 

8.3 TensorBoard使用:图像可视化、卷积核特征图可视化、网络可视化

 

 

2. torchvision.utils.make_grid()

但是,在可视化中发现,5张图像都是在不同界面中,需要用鼠标拖动才能看。我们想在一个界面里看多张图像。

这时我们就可以用到pytorch提供的非常实用的函数,make_grid。

8.3 TensorBoard使用:图像可视化、卷积核特征图可视化、网络可视化

 

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是什么颜色。通常黑色。

 

例:

8.3 TensorBoard使用:图像可视化、卷积核特征图可视化、网络可视化

 

结果:

8.3 TensorBoard使用:图像可视化、卷积核特征图可视化、网络可视化

 

 

二、卷积核可视化、特征图可视化

 

略。下载模型太慢了。

 

三、网络可视化

 

1. add_graph()

8.3 TensorBoard使用:图像可视化、卷积核特征图可视化、网络可视化

例:

8.3 TensorBoard使用:图像可视化、卷积核特征图可视化、网络可视化

 

 

 

 

结果:

 

8.3 TensorBoard使用:图像可视化、卷积核特征图可视化、网络可视化

 

 

2. torchsummary()

查看模型信息。

8.3 TensorBoard使用:图像可视化、卷积核特征图可视化、网络可视化

 

 

例:

8.3 TensorBoard使用:图像可视化、卷积核特征图可视化、网络可视化

 

 

结果:

8.3 TensorBoard使用:图像可视化、卷积核特征图可视化、网络可视化