validate_data在卷积神经网络(Conv1D)中不起作用

时间:2019-07-07 13:42:30

标签: conv-neural-network

我正在尝试像这样训练我的模型CNN:

model.fit(x_traincnn, y_train, batch_size=8, epochs=50,validation_data=
(x_testcnn, y_test))

但是,我收到此错误:

ValueError: Error when checking target: expected activation_40 to have shape (7,) but got array with shape (4,)

我发现问题是因为无法评估validation_data。我的意思是y_test还有其他尺寸。

我从数据集中得到了这些值:

n_dim = X_train.shape[1]
n_classes = y_train.shape[1]
n_dim=216
n_classes=7
x_traincnn = (17, 216, 1)
x_testcnn = (5, 216, 1)
y_test = 4

我对顺序模型的定义是:

model = Sequential()
model.add(Conv1D(4, 5,padding='same',strides=1,
             input_shape=(n_dim,1)))
model.add(Activation('relu'))
model.add(Conv1D(3, 5,padding='same')) #2
model.add(Activation('relu'))
model.add(Dropout(rate=0.1))
model.add(Conv1D(3, 5,padding='same')) #3
model.add(Activation('relu'))
model.add(Flatten())
model.add(Dense(n_classes))
model.add(Activation('softmax'))
opt = keras.optimizers.rmsprop(lr=0.00001, decay=1e-6)

我了解密集的莱尔课程应该有很多课程。对吧?

因此,问题在于y_test变量的形状为4。因此,如果我定义4的密集层仅适用于x_test和y_test。但我需要该模型适用于两组数据(训练和测试),并像之前提到的那样设置我的model.fit:

model.fit(x_traincnn, y_train, batch_size=8, epochs=50,validation_data=  (x_testcnn, y_test))

可以帮您解决这个问题吗? 如何正确设置CNN模型?

谢谢

0 个答案:

没有答案