心电图分类(一维数组)实现类激活图CAM可视化

您所在的位置:网站首页 applewatch7心电图激活教程 心电图分类(一维数组)实现类激活图CAM可视化

心电图分类(一维数组)实现类激活图CAM可视化

2024-07-16 15:40| 来源: 网络整理| 查看: 265

最近希望通过观察特征的重要性进行模型分析,通过下面这篇文章了解了神经网络当中存在一些可视化操作,Keras实现卷积神经网络(CNN)可视化,包括有: 主要的四种可视化模式:

卷积核输出的可视化,即可视化卷积操作后的结果,帮助理解卷积核的作用。卷积核的可视化,对卷积核本身进行可视化,对卷积核学习到的行为进行解释。类激活图可视化,通过热度图,了解图像分类问题中图像哪些部分起到了关键作用,同时可以定位图像中物体的位置。特征可视化,与第一种方法类似,但是输出的不再是卷积层的激活值,而是使用反卷积与反池化来可视化输入图像的激活特征。

卷积核输出和卷积核可视化都比较简单,这里主要是想实现一下类激活图的可视化。 主要参考了这篇博客:keras CAM和Grad-cam原理简介与实现 两种类型的分类模型。feature extraction+Flatten+softmax和feature extraction+GAP+softmax,我使用的是第二种: 在这里插入图片描述

代码如下:

x = X_test[0]#这里是获取的测试集的某一个样本作为输入 x = np.expand_dims(x,axis=0)#扩展维度 model = load_model('multilabel_model_0907.h5',custom_objects={'acc_loss': acc_loss, 'f1': f1, 'acc': acc})#下载保存的模型 pred = model.predict(x) class_idx = np.argmax(pred[0]) class_output = model.output[:,class_idx] last_conv_layer = model.get_layer("multiply_11")#这里是最后一个特征提取操作 gap_weights = model.get_layer("average_pooling")#模型的GAP操作 tf.compat.v1.disable_eager_execution() import tensorflow.keras.backend as K import tensorflow as tf grads = K.gradients(class_output,gap_weights.output)[0] iterate = K.function([model.input],[grads,last_conv_layer.output[0]]) pooled_grads_value, conv_layer_output_value = iterate([x]) pooled_grads_value = np.squeeze(pooled_grads_value,axis=0) for i in range(256):#最后一个特征提取层的卷积核数量 conv_layer_output_value[:,i] *= pooled_grads_value[i] heatmap = np.mean(conv_layer_output_value, axis=-1) heatmap = np.maximum(heatmap,0)#relu激活。 heatmap /= np.max(heatmap) import cv2 from PIL import Image img = np.uint8(255*X_test[0]) heatmap = cv2.resize(heatmap,(img.shape[1],img.shape[0])) heatmap = np.uint8(255*heatmap) heatmap = cv2.applyColorMap(heatmap,cv2.COLORMAP_JET) img = cv2.applyColorMap(img,cv2.COLORMAP_JET)#由蓝色到红色,越红关注度越高 superimposed_img = cv2.addWeighted(img,0.6,heatmap,0.4,0) cv2.imwrite('heatmap.png',heatmap) cv2.imwrite('img.png',img) cv2.imwrite('Grad-cam.png',superimposed_img)

最终我得到的heatmap如下图: 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3