2016-11-22 100 views
0

使用zca_whitening時,我的代碼卡在某處,既沒有顯示任何錯誤,也沒有顯示輸出。當我跳過zca_whitening並應用其他轉換時,代碼完美運行。我在這裏附上代碼片段。 PL幫助我,如果我在這裏做錯什麼:keras zca_whitening - 沒有錯誤,沒有生成輸出

datagen = ImageDataGenerator(zca_whitening=True) 
datagen.fit(x_train) 

這裏>>x_train是訓練圖像集(暗= 50×64×64×3)。在運行datagen.fit後,代碼顯示沒有進一步的輸出或錯誤,似乎有進程在無限期的時間內運行。

在另一方面

這些轉換工作完美:

datagen = ImageDataGenerator(rotation_range=0.90, 
    width_shift_range=0.2, 
    height_shift_range=0.2, 
    fill_mode='nearest', 
    horizontal_flip=True, 
    vertical_flip=True) 
datagen.fit(x_train) 

有什麼我很想念這裏?

+0

你可以修改x_train使其具有(3,64,64)的形狀,然後應用zca_whitening? –

+0

是的,它的工作!謝謝@AvijitDasgupta。我想知道爲什麼只有在zca_whitening的情況下才會有所不同。 –

+0

然後我寫這個作爲答案,你可以接受它。 –

回答

1

修改x_train有形狀(3, 64, 64).

你可以通過使用下面的代碼:x_train = x_train.transpose((2,1,0))

這主要是由於theano和tensorflow後端之間的切換。在Keras文檔中檢查dim_order