欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

利用visdom显示卷积层结果

程序员文章站 2022-04-30 22:50:02
...

输入卷积神经网络的图像:

利用visdom显示卷积层结果

中间各个卷积层输出的featuremap可视化结果:

利用visdom显示卷积层结果

代码:

    vis = visdom.Visdom()
    for layer_name, fmap_list in fmap_dict.items():  # 通过给各卷积层注册register_forward_hook函数来保存各卷积层featuremap
        fmap = fmap_list[0]       # shape : (1, 64, 55, 55), batch维度恒为1 
        fmap.transpose_(0, 1)     # 将64通道逐通道的显示
        fmap[:, 0, :, :] *= 10    # 提高对比度,因为卷积的结果是直接做像素值的,因此可能会出现整体数值偏小的情况;而且visdom没有tensorboard中滑动调节对比度的滑动调节栏;此外这里就算乘法的结果大于255,也不会报错,就会按照255来计算
        nrow = int(np.sqrt(fmap.shape[0]))  # 将所有的图片放在nrow * nrow的网格中显示
        vis.images(fmap, nrow=nrow, win=layer_name)
相关标签: 实验室 python