簡體   English   中英

使用Keras fit_generator會產生錯誤的形狀錯誤

[英]Using Keras fit_generator gives an error of wrong shape

我在fit_generator遇到錯誤。 我的生成器返回以下內容:

yield(row.values, label)

例如,使用它:

myg = generate_array()
for i in myg:
    print((i[0].shape))
    print(i)
    break

(9008,)
(array([0.116516, 0.22419 , 0.03373 , ..., 0.      , 0.      , 0.      ]), 0)

但是以下引發異常:

model = Sequential()
model.add(Dense(84, activation='relu', input_dim=9008))

ValueError: Error when checking input: expected dense_1_input to have shape 
(9008,) but got array with shape (1,)

任何想法?

正如Kota Mori所建議的那樣:數據生成器需要提供一批數據,而不是單個樣本。 參見例如: https : //stanford.edu/~shervine/blog/keras-how-to-generate-data-on-the-fly

由於我想要隨機梯度下降(批量大小為1),因此以下代碼解決了該問題:

def generate_array():
   while True:
    X = np.empty((1, 9008))
    y = np.empty((1), dtype=int)
    # Some processing
    X[0] = row
    y[0] = label
    yield(X,y)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM