深度学习某一层特征可视化实现Keras/TensorFlow

本文介绍了如何在Keras和TensorFlow框架下实现深度学习模型的特征可视化,通过可视化可以直观地分析模型在图像处理中的特征变化,便于比较不同网络的特征差异。
摘要由CSDN通过智能技术生成

针对于图像来说,训练好一个模型后,需要比较特征差异或者做分析的时候,需要将模型进行可视化,这样能够无更加直观的分析深度学习中特征的变化。能够与其他网络提取的特征进行观察,分析差异。
代码:

import cv2
from pylab import *
import matplotlib.pyplot as plt
from keras import backend as K
from keras.models import load_model
import tensorflow as tf
# 加载训练好的模型
model = load_model(r"..\vgg16.h")
model.summary()  # 打印模型.查看参数及层的名称
# 设置为测试阶段
K.set_learning_phase(0)
graph = tf.get_default_graph()

test_path = r"../dog.jpg"
image = cv2.imread(test_path )
image = cv2.resize(image ,(224,224))
image = image .astype('float')/255.0
image = np.expand_dims(image ,0)

def get_layer_feature(img, model, layer_name):
    with graph.as_default():
        layer_fn = K.function([model.get_input_at(0)],[model.get_layer(layer_name).output])
        layer_output = layer_fn([img, 0])[0]
        return layer_output

layer_output = get_layer_feature(image , model, 'conv2d_3') 
  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值