Keras-“ ValueError:检查目标时出错:预期的activation_1具有形状(无,9),但形状为(9,1)的数组

时间:2019-10-07 22:31:43

标签: python tensorflow machine-learning keras keras-layer

我正在建立一个模型来将文本分类为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)的数组

1 个答案:

答案 0 :(得分:0)

您的代码中有一些错别字和错误。

  1. scipy.ndimage.interpolation.spline_filter

  2. 由于您将Y_train = Y_train.reshape((100,9))重塑为(100,150,1),所以我猜您的输入步长为150,通道为1。因此,对于X_train,(您的输入中有错字代码),Conv1D

  3. 您需要先平整conv1d的输出,然后再输入密集层。

input_shape=(150,1)