我正在建立一个模型来将文本分类为9层之一,并且在运行它时遇到此错误。激活1似乎是指卷积层的输入,但是我不确定输入有什么问题。
num_classes=9
Y_train = keras.utils.to_categorical(Y_train, num_classes)
#Reshape data to add new dimension
X_train = X_train.reshape((100, 150, 1))
Y_train = Y_train.reshape((100, 9, 1))
model = Sequential()
model.add(Conv1d(1, kernel_size=3, activation='relu', input_shape=(None, 1)))
model.add(Dense(num_classes))
model.add(Activation('softmax'))
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
model.fit(x=X_train,y=Y_train, epochs=200, batch_size=20)
运行此命令将导致以下错误:
“ ValueError:检查目标时出错:预期的activation_1具有形状(无,9),但形状为(9,1)的数组
答案 0 :(得分:0)
您的代码中有一些错别字和错误。
scipy.ndimage.interpolation.spline_filter
由于您将Y_train = Y_train.reshape((100,9))
重塑为(100,150,1),所以我猜您的输入步长为150,通道为1。因此,对于X_train
,(您的输入中有错字代码),Conv1D
。
您需要先平整conv1d的输出,然后再输入密集层。
input_shape=(150,1)