Pri*_*moz 5 python neural-network deep-learning keras
我有一个在 Keras 中构建的模型,它可以是顺序的,也可以是函数式的。模型可通过model变量访问。我想实现从输出到输入遍历模型的方法,并对模型的权重做一些事情。
有没有办法获得特定层的前身层?我想做这样的事情:
x = <some number>
layer_x = model.layers[x]
predecessor_layers = ???
Run Code Online (Sandbox Code Playgroud)
@Mitiku 建议的解决方案仅返回输入张量,但我们需要一个前驱层。前驱层可以通过以下方式找到:
x = <some number>
layer_x = model.layers[x]
int_node = layer_x._inbound_nodes[0]
predecessor_layers = int_node.inbound_layers[0]
Run Code Online (Sandbox Code Playgroud)
在所提出的解决方案中,我们假设layer_x只有一个前驱层。为了获取该层,我们首先访问连接这两个层的节点:int_node,然后获取其输入上的层:int_node.inbound_layers[0]。
注意:此解决方案不太好,因为它访问受保护的属性,但它有效。