我有一个数据数组,其中包含3个特征的二维数组: [[1,2,3],[4,5,6]]我希望我重新塑造它以适应带有重塑(1,2,3)的keras以获得类似的数组:
trainX = [[[1,2,3], [4,5,6]]].
训练阵列几乎相同:
trainY = [[4,5,6], [7,8,9]]
我想将它传递给我的模特。当我这样传递时:
model.add(LSTM(32, input_shape=(2,3)))
model.add(Dense(3))
model.fit(trainX, trainY)
它表示目标样本的数量与输入样本不同。有些东西我不明白,但我不知道在哪里。
你能帮帮我吗? :d答案 0 :(得分:1)
这应该有所帮助:
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6]])
trainX = a.reshape(1, 2, 3)
# [[[1 2 3] [4 5 6]]]
答案 1 :(得分:0)
您缺少标签尺寸。
import numpy as np
trainX = [[[1,2,3],[4,5,6]]]
trainY = [[4,5,6],[7,8,9]]
np.array(trainX).shape # This equals (1,2,3)
np.array(trainY).shape # This equals (2,3)
根据您的转换方式,您可以
np.array(trainX).reshape(2,3)
或
np.array(trainY).reshape(1,2,3)
此外,您的模型input_shape正在(2,3),如果您需要(1,2,3),您应该更改它。