我一直在面对这个属性错误,有什么想法我可以解决它吗?
def model(input_shape):
model = keras.Sequential()
model.add(keras.layers.LSTM(64, input_shape=(1,9), return_sequences=True))
model.add(keras.layers.LSTM(64))
model.add(keras.layers.Dense(64, activation='relu'))
model.add(keras.layers.Dropout(0.3))
model.add(keras.layers.Dense(10, activation='softmax'))
return model
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
model.summary()
AttributeError Traceback (most recent call last)
Input In [67], in <cell line: 1>()
----> 1 model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
2 model.summary()
AttributeError: 'function' object has no attribute 'compile'
2条答案
按热度按时间dldeef671#
函数和变量具有相同的名称,导致问题。您可以重命名变量或函数。
zpjtge222#
您已经使用单词
model
作为函数的名称。这是允许的(因为model
在Python中不是保留字),但这意味着当你使用model.compile()
时,解释器假设你想调用你所谓的“model”的属性,而那里没有这样的属性。解决方案:给予函数另一个名字,这样“model”这个词就只指模型对象,它有一个可以调用的compile
方法。或者,反过来,如果您愿意,可以使用“model”作为函数,但随后给予模型另一个名称,并在其上调用compile()
。