因为
Dense(...)返回一个可调用的(基本上是一个函数),所以可以依次调用它。这是一个简单的例子:
def make_adder(a): def the_adder(b): return a + b return the_adderadd_three = make_adder(3)add_three(5)# => 8make_adder(3)(5)# => 8
在这里,
make_adder(3)返回定义为
def the_adder(b) return 3 + b
然后使用参数
5return调用该函数
8。如果跳过将返回值
make_adder(3)赋给一个单独变量的步骤,则会得到您所询问的形式:与您的问题
make_adder(3)(5)相同
Dense(64,activation='relu')(inputs)。
编辑:从技术上讲,
Dense不是在Python中归类为函数,而是归为一类;
Dense(...)因此是对构造函数的调用。所讨论的类定义
__call__方法,该方法使此类的对象“可调用”。可以通过使用参数列表调用函数和可调用对象来调用它们,并且两者之间的差异完全不影响解释。但是,这是一个简单的可调用示例,该示例更为相似
Dense:
class Adder: def __init__(self, a): self.a = a def __call__(self, b): return self.a + badder_of_three = Adder(3)adder_of_three(5)# => 8Adder(3)(5)# => 8
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)