原图:

Keras代码:

from keras.models  import Sequential
from keras.layers.convolutional import Convolution2D,MaxPooling2D,AveragePooling2D
from keras.layers import Activation
import cv2
import os
import shutil
import numpy as np
import matplotlib.pyplot as plt#网络模型
def create_model():model = Sequential()#输入 img.shape = (28,28,3)#第一层卷积model.add(Convolution2D(9,(5,5),padding='same',strides=(1,1),input_shape=img.shape)) #(1, 24, 24, 9)model.add(Activation('relu'))model.add(MaxPooling2D(pool_size=(2,2)))# # 第二层卷积# model.add(Convolution2D(9,(5,5),padding='same',strides=(2,2)))# model.add(Activation('relu'))# model.add(MaxPooling2D(pool_size=(2,2)))return model#保存特征图
def save_conv_img(conv_img):feature_maps = np.squeeze(conv_img,axis=0)img_num = feature_maps.shape[2]all_feature_maps = []for i in range(0,img_num):single_feature_map = feature_maps[:,:,i]all_feature_maps.append(single_feature_map)plt.imshow(single_feature_map)plt.savefig('./feature_map/'+'feature_{}'.format(i))sum_feature_map = sum(feature_map for feature_map in all_feature_maps)plt.imshow(sum_feature_map)plt.savefig("./feature_map/feature_map_sum.png")def create_dir():if not os.path.exists('./feature_map'):os.mkdir('./feature_map')else:shutil.rmtree('./feature_map')os.mkdir('./feature_map')if __name__ =='__main__':img = cv2.imread('b0.jpg')print(img.shape)create_dir()model = create_model()img_batch = np.expand_dims(img,axis=0)conv_img = model.predict(img_batch) #predict()的参数是需要四维的save_conv_img(conv_img)

经过第一层卷积后,得到的特征图为:

因为第一层卷积设置了一共有9个卷积核,所以对应就会有9张特征图

而网络的输出则是9张特征图合在一起,形成总的特征图:

卷积神经网络的特征图可视化相关推荐

  1. 卷积神经网络推理特征图可视化查看,附录imagenet类别和编号对应查询表。通过观察法进行深度学习可解释研究

    CNN模型虽然在图像处理上表现出非常良好的性能和准确性,但一直以来都被认为是一个黑盒模型,人们无法了解里面的工作机制. 针对这个问题,研究人员除了从理论层面去寻找解释外,也提出了一些可视化的方法直观地 ...

  2. 卷积神经网络及其特征图可视化

    参考链接:https://www.jianshu.com/p/362b637e2242 参考链接:https://blog.csdn.net/dcrmg/article/details/8125549 ...

  3. 卷积神经网络中特征图大小计算公式总结

    W:输入特征图的宽,H:输入特征图的高 K:kernel size卷积核宽和高,P:padding(特征图需要填充的0的个数),S:stride步长 width_out:卷积后输出特征图的宽,heig ...

  4. 神经网络之特征图可视化

    目录 1 前言 2 coding 2.1 加载数据及模型 2.2 微调及训练 2.3 可视化特征图 3 总结 附录 1 前言 使用torch实现. 使用cifar10数据集 代码中,有一点点迁移学习的 ...

  5. 神经网络中特征图可视化

    keras版本的神经网络可视化每层特征图:参考 pytorch版本的神经网络可视化每层特征图:参考

  6. yolov5特征图可视化

    文章目录 前言 一.效果图 二.使用步骤 1.使用方法 2.注意事项 总结 参考 前言 最近写论文需要观察中间特征层的特征图,使用的是yolov5的代码仓库,但是苦于找不到很好的轮子,于是参考了很多, ...

  7. caffe之特征图可视化及特征提取

    上一篇博客,介绍了怎么对训练好的model的各层权重可视化,这篇博客,我们介绍测试图片输入网络后产生的特征图的可视化 记得上篇中,我们是写了一个新的文件test.cpp,然后编译运行那个文件的,这是因 ...

  8. 卷积神经网络特征图可视化及其意义

    文章目录 特征图可视化方法 1. tensor->numpy->plt.save 2. register_forward_pre_hook函数实现特征图获取 3. 反卷积可视化 特征图可视 ...

  9. 卷积神经网络特征图可视化(自定义网络和VGG网络)

    借助Keras和Opencv实现的神经网络中间层特征图的可视化功能,方便我们研究CNN这个黑盒子里到发生了什么. 自定义网络特征可视化 代码: # coding: utf-8from keras.mo ...

最新文章

  1. .NET新手系列(六)
  2. 百度地图-省市县联动加载地图
  3. 数学图形(2.10)一种绕在球上的线圈
  4. delphi7下调用微软的Web Services的心得
  5. 动态语言和静态语言的比较
  6. Git 使用遇到的各种问题
  7. splitpane如何设置竖条的宽度_页面中有间隔的方格布局如何完美实现?
  8. jzoj3919-志愿者【换根法,线段树,树形dp】
  9. 魔力宝贝 服务器状态,魔力宝贝服务端standenemy的参数
  10. 怎样查看电脑系统版本_用什么软件查维修记录 思域HATCHBACK怎样查询维保记录_汽车事故车查询...
  11. Ubuntu18.04创建新的系统用户
  12. WCF服务编程 学习笔记(1)
  13. 张宇基础30讲 第17讲-元函数积分学基础知识
  14. [A3C]:Tensorflow代码实现详解
  15. JavaScript-标签语句
  16. 安装失败:user ‘system‘ has previously initiated an install for product‘‘
  17. “人工智能”初创公司所面临的问题
  18. 冷门又实用的Excel技巧知识,还不来看看嘛
  19. html如何给header添加token,将Token添加到请求头Header中
  20. 维基解密:攻击 Mac/Linux 的CIA三款工具

热门文章

  1. YOLOv3无法调动gpu
  2. 从莉莉丝游戏的战略布局与设计角度,探究《剑与远征》的火爆原因
  3. jdk8 新特性汇总
  4. 如何使用jQuery获取元素的ID?
  5. IllegalArgumentException:非法参数异常
  6. elasticsearch报错: illegal argument exception, variable is not found
  7. [学习计划]QSC Q-SYS Level 1 音频处理器
  8. 【js】时间戳转日期、日期转时间戳
  9. C#中DllImport用法和路径问题
  10. SpringBoot下载网络文件并重命名,比如:excel