我正在用 keras 创建一个回归模型。我有 10
145 * 5
十位数矩阵。我在安装 10
时遇到问题145 * 5
keras 模型中的矩阵。X
是输入矩阵In: X.shape
Out: (10, 145, 5)
y
是目标矩阵In: y.shape
Out: (10,)
每个145 * 5
矩阵目标矩阵中将有一个值
制作模型 In: model = Sequential([
Dense(32, input_dim=145),
Activation('sigmoid'),
Dense(output_dim=10)
])
虽然前一行没有抛出任何错误或警告,但我很确定它是 不是 在这种情况下拟合模型的正确方法。In: model.compile(optimizer='sgd',loss='mse')
到目前为止没有问题。但是当我试图拟合矩阵时In: model.fit(X, y.reshape(-1, 1))
在这条线之后,我得到了一个很长的回溯,最终说ValueError: Error when checking model input: expected dense_input_1 to have 2 dimensions, but got array with shape (10, 145, 5)
请帮助我正确拟合模型中的矩阵。谢谢!
最佳答案
使用 input_shape
而不是 input_dim
.此外,由于输出的维数正在发生变化,您需要使用 Flatten
或 Reshape
作为维度之一。
from keras.layers import Flatten
model = Sequential([
Dense(32, input_shape=(145,5)),
Flatten(),
Activation('sigmoid'),
Dense(output_dim=10)
])
model.summary()
使用
model.summary()
检查模型的结构以更好地理解。
关于python-3.x - 如何在 keras 模型中拟合 3D 矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41335431/