2017-03-15 226 views
3

我有以下代碼:Keras模型fit_generator奇怪的錯誤

datagen = ImageDataGenerator(
     rescale=1./255, 
     target_size=(128, 128), 
     shear_range=0.2, 
     zoom_range=0.2, 
     horizontal_flip=True) 

    test_datagen = ImageDataGenerator(
     rescale=1./255, 
     target_size=(128, 128) 
    ) 

    datagen.fit(X_train) 

    model.fit_generator(
     datagen.flow(X_train, Y_train), 
     samples_per_epoch=len(X_train), 
     epochs=30, 
     verbose=1, 
     validation_data=(X_valid, Y_valid)) 

會拋出這個異常錯誤

Traceback (most recent call last): 
     File "cnn.py", line 258, in <module> 
      models = run_cross_validation_create_models(num_folds) 
     File "cnn.py", line 205, in run_cross_validation_create_models 
      validation_data=(X_valid, Y_valid)) 
     TypeError: fit_generator() takes at least 4 arguments (5 given) 

有人能解釋一下是怎麼回事錯了,我在一組3700裝載圖片。

+0

問題的C++部分是什麼? –

+0

什麼都沒有...我刪除了標籤並添加了一些相關標籤。 –

+0

我假設你在代碼中定義了'(X_valid,Y_valid)'。如果是這樣,請檢查是否可以使用'ImageDataGenerator'和'train_on_batch()'進行訓練。如果可以的話,那麼至少在模型中沒有錯誤。 –

回答

3

它可能來自新API(Keras 2.0昨天發佈),fit_generator()現在需要steps_per_epoch參數而不是samples_per_epoch

steps_per_epoch通常是samples_per_epoch/batch_size

你可以找到這個信息in the documentation

它有幫助嗎?

+0

沒有。我更新了keras,但仍然得到這個異常 –

+0

您可能對使用qnd版本軟件的代碼更具體一些。 –

+0

即時通訊使用Keras 2.0.8,這裏是代碼:https://gist.github.com/creotiv/c7fb0328de22ec021f405ebbdc202100 –