可视化输入,以便在Keras中使用dropout最大化激活图层

时间:2017-02-15 12:44:53

标签: python deep-learning keras keras-layer

我正在尝试复制此博客文章How convolutional neural networks see the world

中的代码

它在没有丢失层的CNN中运行良好,但是当有一个(或多个)丢失层时,我不能直接使用layer.output行,因为它需要一个学习阶段。

当我使用推荐方法提取图层的输出时:

get_layer_output = K.function([model.layers[0].input,   K.learning_phase()],
                              [model.layers[layer_index].output])

layer_output = get_3rd_layer_output([input_img, 0])[0]

问题在于我不能在input_img中放置占位符,因为它需要“真实”数据,但如果我直接放入“真实”数据,则其余代码不起作用(造成损失) ,渐变和迭代需要一个占位符)。

我有办法让这项工作成功吗?

我正在使用Tensorflow后端。

编辑:我在执行构建模型之前使用K.set_learning_phase()方法解决了我的问题(我必须从新环境开始,并且在导入后立即使用该方法)。

0 个答案:

没有答案