發表文章

目前顯示的是 4月, 2020的文章

heatmap-視覺化你的模型辨識特徵

圖片
本模型使用ResNet20訓練cifar10資料集保存的權重。 載點 點我 論文出處:Grad-CAM Visual Explanations from Deep Networks via Gradient-Based Localization 簡單來說cnn可以萃取圖片的特徵,越深的捲積層,越可以表現重要,可讓神經網路學習的特徵,Grad-CAM的目的就是提取最後一層的特徵,並且resize為原圖的大小,這就可以視覺化你的模型辨識特徵 程式碼如下: import cv2 import numpy as np from keras.models import load_model #用來啟動 NN from keras import backend as K from matplotlib import pyplot as plt test_image = cv2.resize(cv2.imread('./plane1.jpg'),(32,32)) test_image = np.asarray(test_image.astype("float32")) test_image = test_image/255. test_image = test_image.reshape((1,32,32,3)) model=load_model('./resnet_softmax.h5') preds = model.predict(test_image) print("所有結果resnet_softmax=",preds) print("第"+str(np.argmax(preds[0])+1)+"類") #返回數值最大的索引 #model.summary() model_output = model.output[:, np.argmax(preds[0])] last_conv_layer = model.get_layer('conv2d_22') grads = K.gradients(model_output, last_conv_layer.output)[0] pooled_grads = K.mean