Keras 2.0中的自定义合并层

时间:2017-07-26 10:54:34

标签: merge keras-2

在keras 1我曾经写过

def merge_mode(branches):
   return #merge function

Merge([...], output_shape=(num_classes,), mode=merge_mode)

但现在在keras 2.0中 Merge已弃用,您只能添加预定义函数,如add,average,concatenate,....

我的问题是如何在keras 2.0中添加自定义合并功能

1 个答案:

答案 0 :(得分:1)

如果您正在寻找一个没有可训练权重的图层,那么从您的示例来看,我想是这样。然后,您可以使用Lambda图层。

实际上,我自己写了一篇使用平方距离测度创建暹罗CNN的文件。 请参见下面的示例:

from keras.layers import Lambda

# I create the layer structure first.
# This can then be added to a sequential model or used in a functional model.
merge_layer = Lambda(lambda x: K.square(x[0]-[x]), output_shape=lambda x: x[0])

# Inside a functional model you would use it like this:
block_output = merge_layer([left,right])