将3D数组输入序列模型Keras(Python)

将3D数组输入序列模型Keras(Python),python,neural-network,keras,Python,Neural Network,Keras,我有3个维度(8,50,3)的培训输入。 我试图将其作为输入传递给Keras中的顺序模型。查阅文档后,我发现这应该是可行的: model = Sequential() model.add(Dense(100, activation='relu', input_shape=(50,3))) model.add(Dense(100,init="uniform", activation='sigmoid')) model.add(Dense(50,init="uniform", activation=

我有3个维度(8,50,3)的培训输入。 我试图将其作为输入传递给Keras中的顺序模型。查阅文档后,我发现这应该是可行的:

model = Sequential()
model.add(Dense(100, activation='relu', input_shape=(50,3)))
model.add(Dense(100,init="uniform", activation='sigmoid'))
model.add(Dense(50,init="uniform", activation='relu'))
model.add(Dense(output_dim=1))
model.compile(optimizer='rmsprop',loss='categorical_crossentropy',metrics=['accuracy'])
当我尝试训练这个模型时:

model.fit(train,labelTrain,epochs=1,batch_size=1,verbose=1)
我得到以下错误:

Error when checking model target: expected dense_148 to have 3 dimensions, but got array with shape (8, 1)
这意味着什么


此外,我的第一个目标是通过一个三维阵列,其中的中间维度没有固定的大小,但我放弃了,因为我发现这是不可能的。它能工作吗

目标
表示这是预期结果。问题出在
labelTrain
,而不是输入中

致密的层必须有许多神经元。你不传递一个输出形状,你传递神经元的数量,输出是自动的(无,神经元)

最后一层应该是:

model.add(Dense(1, activation='I recomend an activation here'))