【问题标题】:Keras: 'Sequential' object has no attribute '_feed_input_names'Keras:“顺序”对象没有属性“_feed_input_names”
【发布时间】:2020-01-20 11:35:20
【问题描述】:

我尝试使用 Keras 创建一个多标签分类器。训练数据格式如下:

X_train

f1  f2  f3
1   1   5
0   2   4
1   0   4

y_train:

c1  c2
0   1
1   1
0   0

这是我用来构建模型的代码:

from keras.models import Sequential
from keras.layers import Dense
import math

def softmax(z):
    z_exp = [math.exp(i) for i in z]
    sum_z_exp = sum(z_exp)
    return [i / sum_z_exp for i in z_exp]

nn = Sequential()
nn.add(Dense(10, activation="relu", input_shape=(10,)))
nn.add(Dense(2, activation="sigmoid"))

nn.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])

n = 10000
model.fit(X_train.values, y_train.values, batch_size=16, epochs=5, verbose=1, validation_split=0.1)

当我运行此代码时,它会失败并显示以下消息:

AttributeError: 'Sequential' 对象没有属性 '_feed_input_names'

【问题讨论】:

  • 一些提示,使用activation='softmax' 而不是使用自定义的softmax。那是因为您没有在该函数中使用 Keras 符号张量。但是由于这段代码似乎没有使用这个激活,所以问题很可能出在X_train.valuesY_train.values。确保它们都是带有 print(type(X_train.values)) 的 numpy 数组。

标签: python tensorflow keras


【解决方案1】:

我在这里写我的建议,因为我还不能发表评论。 我认为您的 input_shape 可能已关闭。你可以找到 herehere 其他人也有同样的问题。也许尝试类似:

nn.add(Dense(.... input_dim=X_train.shape[1]))

我希望这会有所帮助:)

【讨论】:

    猜你喜欢
    • 2019-07-30
    • 1970-01-01
    • 1970-01-01
    • 2020-03-13
    • 1970-01-01
    • 2022-01-04
    • 2021-10-23
    • 2021-11-15
    相关资源
    最近更新 更多