我的问题很简单。我想将ConvNet中使用的深层过滤器可视化,以提取预测最终模型的功能。通过可视化,我的意思是将其保存为{png {3}}最后一层中所示的滤镜等.png格式,实际上我们可以在最后一层滤镜中看到一辆汽车
我可以通过我自己的问题https://s3-ap-south-1.amazonaws.com/av-blog-media/wp-content/uploads/2018/03/cnn_filters.png提供的帮助来可视化第一卷积层的过滤器,但这仅显示了第一层的可视化。第一层滤镜看起来像一些随机着色的3x3像素图像。但是我想在第一个链接中看到最终层过滤器,例如汽车过滤器。
第一层滤镜看起来像一些随机彩色的3x3像素图像。但我想在第一个链接中看到最终层过滤器,例如汽车过滤器。 甚至汽车滤清器Visualising Keras CNN final trained filters at each layer的文章也只包含第一层代码
答案 0 :(得分:1)
您可以通过以下方法获取不同图层的权重:
w = model.layers[i].get_weights()[0][:,:,:,:]
其中i
是您的图层编号。
对于链接中的图片,我不确定是实际的权重还是显示的激活图。您可以通过以下方式获得该商品:
from keras import backend as K
get_output = K.function([model.layers[0].input],[cnn.layers[i].output])
output_normal = get_output([X])[0][m]
其中m
是X
中某个图像的编号作为输入。
答案 1 :(得分:1)
Python库keras-vis是可视化CNN的绝佳工具。它可以生成转换过滤器可视化效果,密集层可视化效果和注意力图。最新版本比较旧(并且有一些错误),所以我建议从{"contract":{"marketScope":"AT","businessPartner":"GBM","salesChannelInformation":{"salesChannelCode":"Integrated-Test","salesChannel":"B-Partner information 1"}}}
安装:
master