在 keras 中为 lstm 预处理数据 - Numpy,选择每第 n 行都会让我失去一个维度
Preprocess data for lstm in keras - Numpy, selecting every nth row loses me a dimension
我有一个数组 y_test,如下所示:
print(y_test)
[[ 21.156 23.155]
[ 20.64 22.976]
[ 20.011 22.976]
...
[-16.527 18.002]
[-16.368 17.548]
[-16.164 15.959]]
我想select每隔20行,从9开始,意思是位置9、29、49等
我通过执行以下操作获得了正确的值:
y_small = np.copy(y_test[9::20])
print(y_small)
[[-19.921 12.981]
[ -3.975 19.921]
[ 8.916 18.529]
...
[ 18.684 3.496]
[ 21.719 18.855]
[-19.637 20.749]]
但是,如果我将我的新 y_small 提供给我一直使用的 LSTM 模型,我会收到以下错误:
Error when checking input: expected lstm_input to have 3 dimensions, but got array with shape (1081, 2)
这让我很困惑,因为初始数组 y_test 被系统很好地获取了。
感谢任何帮助!
编辑:我的问题是 y_test 的预处理,但是 做了我最初要求的。我会把它留待解决,以防有人无意中发现它!
根据报错信息,LSTM需要3维输入。通过添加维度重塑 y_small NumPy 数组。
您可以像这样重塑以获得所需的维数:
y_small = np.reshape(y_small, (y_small.shape[0], 1, y_small.shape[1]))
我有一个数组 y_test,如下所示:
print(y_test)
[[ 21.156 23.155]
[ 20.64 22.976]
[ 20.011 22.976]
...
[-16.527 18.002]
[-16.368 17.548]
[-16.164 15.959]]
我想select每隔20行,从9开始,意思是位置9、29、49等
我通过执行以下操作获得了正确的值:
y_small = np.copy(y_test[9::20])
print(y_small)
[[-19.921 12.981]
[ -3.975 19.921]
[ 8.916 18.529]
...
[ 18.684 3.496]
[ 21.719 18.855]
[-19.637 20.749]]
但是,如果我将我的新 y_small 提供给我一直使用的 LSTM 模型,我会收到以下错误:
Error when checking input: expected lstm_input to have 3 dimensions, but got array with shape (1081, 2)
这让我很困惑,因为初始数组 y_test 被系统很好地获取了。
感谢任何帮助!
编辑:我的问题是 y_test 的预处理,但是
根据报错信息,LSTM需要3维输入。通过添加维度重塑 y_small NumPy 数组。
您可以像这样重塑以获得所需的维数:
y_small = np.reshape(y_small, (y_small.shape[0], 1, y_small.shape[1]))