不明白keras双括号语法

pum*_*per 6 python syntax keras

你好,我是 python 和 keras 的新手,正在查看一些 keran 示例代码:

model = VGG19(weights='imagenet',include_top=False)
model.trainable=False
x = Flatten(name='flat')(model)
x = Dense(512, activation='relu', name='fc1')(x)
x = Dense(512, activation='relu', name='fc2')(x)
x = Dense(10, activation='softmax', name='predictions')(x)
Run Code Online (Sandbox Code Playgroud)

只是不明白 x=Dense(....)(x) 第二个 paranteses 用法是什么?如果我想查看 python 文档,这个语法名称是什么?

len*_*nik 5

这可能是这些链式调用的更容易理解的版本:

model = VGG19(weights='imagenet',include_top=False)
model.trainable=False
layer1 = Flatten(name='flat')(model)
layer2 = Dense(512, activation='relu', name='fc1')(layer1)
layer3 = Dense(512, activation='relu', name='fc2')(layer2)
layer4 = Dense(10, activation='softmax', name='predictions')(layer3)
Run Code Online (Sandbox Code Playgroud)

可以重写为:

model = VGG19(weights='imagenet',include_top=False)
model.trainable=False
model.add( Flatten(name='flat'))
model.add( Dense(512, activation='relu', name='fc1'))
model.add( Dense(512, activation='relu', name='fc2'))
model.add( Dense(10, activation='softmax', name='predictions'))
Run Code Online (Sandbox Code Playgroud)