Keras功能API的语法

Syntax of Keras Functional API

对于keras函数式API中的语法如何工作,我有点困惑。它对于定义复杂的多输入和输出模型非常有用。但是语法对我来说有点困惑。

1
new_layer = Conv2d(...)(old_layer)

据我所知,conv2d是一门课。conv2d()语法在python中是如何工作的?


python中实现__call__()方法的每个对象都可以直接调用(您可以看看这个问题或本教程)。所有的keras层都实现了这个函数(见源代码),并且在给定输入张量的情况下,该实现应该返回层的输出。


Conv2d(...).(X)相当于:

1
2
layer = Conv2d(...)
X = layer(X)

其中,layer()相当于layer.__call__(self,....)