【发布时间】:2017-06-18 12:33:27
【问题描述】:
我正在尝试开发 Keras LSTM 代码。我有代表音频特征的输入数据,就是这样。
培训项目 [210969]
特征向量[40]
批量大小 [256]
数据示例
[[-1.66514225 -0.44892017 0.24430933 ..., -0.96550658 -1.3456034 -1.76591301] [-1.79528513 -1.6882871 0.05168475 ... 0.0.23602946 -0.26985581-0.0951985] [-0.09728797 -1.27619953 -1.48452426 -1.48452426 -1.48452426 -1.1.11481965 -0.22158974 -1.10055417]
在我的 Python 代码中,我使用 Keras 库。我尝试构建 LSTM 层。我正在使用 input_shape 但我不能很好地使用。我尝试将我的输入数据从 2 维重塑为 3 维。你可以在 fit 函数中看到。
.........
elif classname == 'LSTM':
layer_setup['config']['input_shape'] = (210969,40)
............
..........
model.fit(
x=X_training.reshape(256,X_training.shape[0],X_training.shape[1]),
y=Y_training.reshape(256,Y_training.shape[0],Y_training.shape[1]),
batch_size=256,
epochs=500,
validation=validationdata,
verbose=0,
shuffle=true,
callbacks=callbacks,
class_weight=class_weight
)
我在运行代码时遇到了这个错误
无法将大小为 8438760 的数组重塑为形状 (256,210969,40)
我该怎么办?谢谢
【问题讨论】:
-
你重塑你的验证数据了吗?
-
是的。我认为数据无法重塑。
-
我认为您不必根据批次对数据进行整形,您是否尝试过在不整形的情况下传入数据?
-
是的。那时我收到错误
Error when checking model input: expected lstm_1_input to have 3 dimensions, but got array with shape (210969, 40)