我来自tensorflow,了解更多关于keras的知识,并遇到了这种表示法。我查看了文档,但找不到任何示例。语法是在函数后接括号的变量。
model_input = Input(shape=input_shape)
z = model_input
z = Dropout(dropout_prob[0])(z) # Not sure what this means
我唯一的想法是这可能是一个图层乘法,但是我不确定谢谢您的帮助。
答案 0 :(得分:2)
它是Keras中顺序模型的一部分;如文档here
中所述因此,在跟踪代码(这只是一部分)之后,首先可能要导入
from keras.layers import Input, Dropout
然后在var“ model_input”中返回张量
model_input = Input(shape=input_shape)
然后可以在张量上调用图层实例,并返回张量
z = model_input
z = Dropout(dropout_prob[0])(z) # This returns another tensor
例如,之后,您可以使用以下模型:
from keras.models import Model
model = Model(inputs=model_input, outputs=z)
model.compile(optimizer='rmsprop',
loss='categorical_crossentropy',
metrics=['accuracy'])
model.fit(data, labels) # starts training
所以现在,重用经过训练的模型变得很容易:您可以通过在张量上调用任何模型,将任何模型视为一个模型,就像这样:
x = Input(shape=(784,))
y = model(x)