Python 3.x 如何在keras模型中拟合3D矩阵?
我正在用keras创建一个回归模型。我有十位数的矩阵。我面临着在keras模型中拟合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) ]) 虽然前一行没有抛出任何错误或警告,但我非常确信,在这种情况下,它不是适合模型的正
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)
作为最后一层。