Python 3.x 如何在keras模型中拟合3D矩阵?

Python 3.x 如何在keras模型中拟合3D矩阵?,python-3.x,neural-network,keras,Python 3.x,Neural Network,Keras,我正在用keras创建一个回归模型。我有十位数的矩阵。我面临着在keras模型中拟合10145*5矩阵的问题 X是输入矩阵 In:X.shape Out:(10145,5) y是目标矩阵 In:y.shape Out:(10,) 对于每个145*5矩阵,目标矩阵中将有一个值 制作模型 In:model=Sequential([ 密集型(32,输入尺寸=145), 激活(“乙状结肠”), 密集(输出尺寸=10) ]) 虽然前一行没有抛出任何错误或警告,但我非常确信,在这种情况下,它不是适合模型的正

我正在用keras创建一个回归模型。我有十位数的矩阵。我面临着在keras模型中拟合
10
145*5
矩阵的问题

X
是输入矩阵

In:X.shape

Out:(10145,5)

y
是目标矩阵

In:y.shape

Out:(10,)

对于每个
145*5
矩阵,目标矩阵中将有一个值

制作模型

In:model=Sequential([
密集型(32,输入尺寸=145),
激活(“乙状结肠”),
密集(输出尺寸=10)
])

虽然前一行没有抛出任何错误或警告,但我非常确信,在这种情况下,它不是适合模型的正确方法

In:model.compile(优化器='sgd',loss='mse')

到目前为止没有问题。但是当我试图拟合矩阵时

In:model.fit(X,y.重塑(-1,1))

在这一行之后,我得到了一个很长的回溯,最终说

ValueError:检查模型输入时出错:预期密集输入\u 1有2维,但得到了形状为(10,145,5)的数组。


请帮助我正确拟合模型中的矩阵。谢谢

使用
input\u shape
而不是
input\u dim
。此外,由于输出的维度数量正在变化,您需要使用
展平
重塑
作为维度之一

from keras.layers import Flatten

model = Sequential([
    Dense(32, input_shape=(145,5)),
    Flatten(),
    Activation('sigmoid'),
    Dense(output_dim=10)
])

model.summary()

使用
model.summary()
在安装过程中。不需要。展平层将自动为您执行此操作。您可以按原样使用输入。好的,这意味着您的输出尺寸为1使用
密集(输出尺寸=1)
作为最后一层。