首页 > 后端开发 > Python教程 > 如何访问 Keras 模型中的层输出?

如何访问 Keras 模型中的层输出?

DDD
发布: 2024-11-30 02:09:12
原创
956 人浏览过

How to Access Layer Outputs in a Keras Model?

访问 Keras 中的层输出

本文将指导您如何提取 Keras 模型中每一层的输出,类似于 TensorFlow 提供的功能。

问题:训练用于二元分类的卷积神经网络 (CNN) 后,希望获得每一层的输出。

答案:Keras 提供了一种简单的方法来实现此目的:

自定义提供的示例中的代码:

from keras import backend as K

# Define input and layer outputs
input = model.input
outputs = [layer.output for layer in model.layers]

# Create a function to evaluate the output
fn = K.function([input, K.learning_phase()], outputs)

# Testing
test_input = np.random.random(input_shape)[np.newaxis,...]
layer_outputs = fn([test_input, 1.])

# Print the layer outputs
print(layer_outputs)
登录后复制

注意: K.learning_phase() 参数对于像 Dropout 这样的层至关重要或 BatchNormalization 在训练和测试期间改变它们的行为。在模拟 Dropout 期间将其设置为 1,否则设置为 0。

优化:为了提高效率,建议使用单个函数来评估所有层输出:

fn = K.function([input, K.learning_phase()], outputs)

# Testing
test_input = np.random.random(input_shape)[np.newaxis,...]
layer_outputs = fn([test_input, 1.])

# Print the layer outputs
print(layer_outputs)
登录后复制

以上是如何访问 Keras 模型中的层输出?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板