Keras 2:在“合并”图层中使用lambda函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Keras 2:在“合并”图层中使用lambda函数相关的知识,希望对你有一定的参考价值。

我正在尝试实现此合并层:

policy = merge([out1, out2], mode = lambda x: x[0]-K.mean(x[0])+x[1], output_shape = (out_node,))

但是,Keras 2中不再出现“merge”。您只能访问公共标准化的“Merge”图层,例如Add,Multiply,Dot。

如何在Keras 2中实现此功能?我想过制作两个合并图层,但我不知道如何实现它,特别是因为“K.mean”部分。

供参考,以下是进口:

from keras.layers import merge
from keras import backend as K
答案

您可以使用Lambda图层执行此操作:

from keras import backend as K
from keras.layers import Lambda

policy = Lambda(lambda x: x[0] - K.mean(x[0]) + x[1])([out1, out2])

以上是关于Keras 2:在“合并”图层中使用lambda函数的主要内容,如果未能解决你的问题,请参考以下文章

如何有条件地缩放 Keras Lambda 层中的值?

如何在 keras lambda 层中使用 tf.py_func 来包装 python 代码。 ValueError:应定义 Dense 输入的最后一个维度。没有找到

Keras使用标量乘以层输出

如何将 l2 归一化应用于 keras 中的图层?

在 Keras 自定义层中连接多个形状为 (None, m) 的 LSTM 输出

如何在 Keras 中剪辑图层返回的值?