gpt4 book ai didi

python - Keras:ValueError:检查输入时出错

转载 作者:太空狗 更新时间:2023-10-29 21:57:47 24 4
gpt4 key购买 nike

我有这样一个长度为 7499042 的 Pandas 数据框:

'X'          'y'
[0.1,0.2...] 0.2
[0.3,0.4,..] 0.3
.
.

pandas dataframe 中的每个值都是长度为 50 的 numpy 数组。现在我像这样提取它:

input = df['X'].values

我有这样的图层:

main_input = Input(shape=(50,1), name='main_input')    
lstm_out=LSTM(32,activation='tanh',recurrent_activation='sigmoid',return_sequences=True)
mean_pooling=AveragePooling1D(pool_size=2,strides=2,padding='valid')

但是当我在训练时将我的输入传递给它时。它显示错误:

ValueError: Error when checking input: expected main_input to have 3 dimensions, but got array with shape (7499042, 1)

它显示的输入形状是 (7499042,)。请帮我解决这个问题。

最佳答案

在将特征输入 LSTM 网络之前,您需要 reshape 特征。LSTM 层采用 3 维输入,对应于(batch_size、timesteps、features)。这意味着单个观察必须是二维的(时间步长、特征)

在您的情况下,单个观察是一维的 (50 ,) :如果转换正确完成,整个数据集的维度是: (7499042 , 50) 。在使用它之前你必须 reshape 你的输入:

input = df['X'].values
input = input.reshape(input.shape[0] , input.shape[1] , 1)

如果 Pandas 没有将您的初始特征转换为 2d DataFrame,您必须在执行上述代码之前进行转换。

关于python - Keras:ValueError:检查输入时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51155356/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com