我不太明白这段代码是什么意思:
# instantiate the input layer
x = Input(batch_shape=batch_input_shape,
dtype=input_dtype, name=name)
# this will build the current layer
# and create the node connecting the current layer
# to the input layer we just created.
self(x)
此代码位于类的成员函数内,请参阅https://github.com/fchollet/keras/blob/master/keras/engine/topology.py第341行。 当我进入self(x)时,它会跳转到此类的另一个成员函数__call__。为什么会这样?感谢。
答案 0 :(得分:0)
__call__()
是Python中的特殊方法之一。它允许类模拟函数类型。
self
可能 - 按惯例 - 是你的成员函数的第一个参数,即调用该方法的对象的实例。
self()
将当前实例对象用作函数。根据定义,这意味着将调用对象上的__call__()
方法,这正是发生的事情。