【问题标题】:How to fix a value error in the model expected dense?如何修复预期密集模型中的值错误?
【发布时间】:2019-12-18 04:46:39
【问题描述】:

我正在尝试使用 Keras 进行深度学习(菜鸟)。在加载我的数据集(训练和测试)后,我试图创建模型。我的代码:

scaler = StandardScaler().fit(train)

train=scaler.transform(train)
test=scaler.transform(test)

# Creating Deep Model


model = Sequential()

# Add an input layer
model.add(Dense(12, activation='relu', input_shape=(11,)))

# Add one hidden layer
model.add(Dense(8, activation='relu'))

# Add an output layer
model.add(Dense(1, activation='sigmoid'))

#add improvements 
model.add(BatchNormalization())
model.add(Dropout(0.5))
#Train the model

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

model.fit(train,train_targets,epochs=20, batch_size=1, verbose=1)

但是,我在最后一行收到一个错误:

ValueError:检查输入时出错:预期dense_1_input 的形状为(11,),但得到的数组的形状为(211,)

错误是什么意思?是什么原因造成的?

【问题讨论】:

    标签: python keras deep-learning keras-layer valueerror


    【解决方案1】:

    这意味着您通过将超参数设置为 input_shape = (11,) 将第一层设置为期望输入形状 (11,),然后您为模型提供了等于 train 的形状。尝试使用:train.shape 并检查形状以确保模型可以使用它。您可能需要查看此答案Keras input explanation: input_shape, units, batch_size, dim, etc,以确保您了解神经网络超参数的核心概念。

    【讨论】:

    • train.shape = (80, 211)
    • 我改变了我的 input_shape。它缺少一个 2。但是,现在我收到了这个错误。 if isinstance(data[0], list): IndexError: list index out of range
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多