![](/img/trans.png)
[英]Batching in tf.Keras 2.1 -> ValueError: Error when checking input
[英]Keras: ValueError: Error when checking input
我的pandas數據幀長度為7499042,如下所示:
'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網絡之前,您需要重塑功能。 LSTM層采用3維輸入,對應於(batch_size,timesteps,features)。 這意味着單個觀察必須是二維的(時間步長,特征)
在您的情況下,單個觀察是1維(50,):如果轉換正確完成,則整個數據集維度為:(7499042,50)。 在使用之前,您必須重新整形輸入:
input = df['X'].values
input = input.reshape(input.shape[0] , input.shape[1] , 1)
如果Pandas沒有將您的初始功能轉換為2d DataFrame,則必須在執行上述代碼之前執行此操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.