Python 如何在keras中间层的结果之间进行计算

Python 如何在keras中间层的结果之间进行计算,python,tensorflow,keras,deep-learning,keras-layer,Python,Tensorflow,Keras,Deep Learning,Keras Layer,如果我构建一个keras神经网络模型,如下所示: 模型1:输入->第1层 模型2:输入->第1层->第2层->操作->第3层->输出 我想在模型1第1层的结果和模型2第2层的结果之间做一些计算,我能做什么?我尝试使用一些Tensorflow代码进行计算,但失败了。有什么方法可以达到我的目标吗?您可以使用以下方法: 来自keras导入层的 从keras导入模型 #定义模型1架构 m1_input=layers.input(形状=(‘任意形状’)) m1_layer1=layers.SomeLaye

如果我构建一个keras神经网络模型,如下所示:

模型1:输入->第1层

模型2:输入->第1层->第2层->操作->第3层->输出

我想在模型1第1层的结果和模型2第2层的结果之间做一些计算,我能做什么?我尝试使用一些Tensorflow代码进行计算,但失败了。有什么方法可以达到我的目标吗?

您可以使用以下方法:

来自keras导入层的

从keras导入模型
#定义模型1架构
m1_input=layers.input(形状=(‘任意形状’))
m1_layer1=layers.SomeLayer()(m1_输入)
#定义模型2架构
m2_输入=层。输入(形状=(‘任意形状’))
m2\u layer1=layers.SomeLayer()(m2\u输入)
m2\u layer2=layers.SomeLayer()(m2\u layer1)
merge_m1=layers.Lambda(SomeOperation)([m1_layer1,m2_layer2])
m2\u layer3=layers.SomeLayer()(合并\u m1)
m2_输出=layers.SomeLayer()(m2_layer3)
#定义最终模型
模型=模型。模型(输入=[m1\U输入,m2\U输入],输出=[m2\U输出])

在上面的代码中,
SomeOperation
应该是一个函数。有关Keras中Lambda层的更多信息,请参阅。或者,Keras有一些简单的内置功能,如add或concatenate,您可以使用它们来代替Lambda层。

谢谢!我不知道。Lambda似乎是一个很好的工具。