我在学习Keras并尝试构建我的层,所以我构建了一个简单的Lambda层,它只是计算输入的平均值。
当我将这个层添加到序列模型时,在第4行出现了TypeError。这是我的代码:
mean_layer = keras.layers.Lambda(lambda x: tf.reduce_mean(x))model = keras.models.Sequential()model.add(keras.layers.InputLayer(input_shape=[10]))model.add(mean_layer())model.summary()TypeError: __call__() missing 1 required positional argument: 'inputs'
然而,如果我使用函数式模型,一切顺利,我得到了预期的输出。
input = keras.layers.Input(shape=[10])output = mean_layer(input)model = keras.models.Model(inputs=[input], outputs=[output])model.summary()
我在使用序列API时构建模型的方式是否错误?谢谢
回答:
是的,你做错了,应该这样做:
model.add(mean_layer)