值错误:检查目标时出错:预期稠密2具有4个维度,但获得具有形状的数组(7942,1)

2024-10-01 17:37:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在使用以下功能API来执行使用CNN的图像分类任务:

def create_model(X_train, X_test):

    visible = Input(shape=(X_train.shape[0], X_train.shape[1], 1))
    conv1 = Conv2D(32, kernel_size=4, activation='relu')(visible)
    hidden1 = Dense(10, activation='relu')(pool2)
    output = Dense(1, activation='sigmoid')(hidden1)

    model = Model(inputs = visible, outputs = output)

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

    return model

X_tr = np.reshape(X_train, (1,X_train.shape[0], X_train.shape[1], 1))
X_te = np.reshape(X_test, (1,X_test.shape[0],  X_test.shape[1], 1))

model = create_model(X_train, X_test)

model.fit(X_tr, y_train, validation_split = 0.1, batch_size=10, epochs=10, verbose = 1, callbacks=[EarlyStopping(patience=5,verbose=1)]) 

其中,X_train是一个7942*6400维的列表,y_train是一个带有相应7942标签的一维列表。

错误:

ValueError: Error when checking target: expected dense_2 to have 4 dimensions, but got array with shape (7942, 1)

作为一个功能性API的新手,这里可能出了什么问题?


Tags: testapioutputsizemodelcreatenptrain

热门问题