2017-04-10 65 views
0

我需要訓練一個具有超過40萬圖像的初始模型。用keras訓練一個巨大的模型開始

我知道我無法將它全部加載到內存上,因爲它太大了。 所以,我肯定會訓練它的批次,而不是紀元(所以從磁盤生成加載每批) 但是,它會很慢,不是?

你知道是否有不同的做法嗎?

我也想在訓練過程中對我的圖像應用不同的偶然轉換。 我查看了dataimagegenerator類,但它與我擁有的所有圖像不兼容。 那麼,有沒有辦法做到這一點,沒有發電機?

感謝你!

回答

1

您可以使用該模型的fit_generator方法(https://keras.io/models/model/#fit_generator)。這仍然從內存加載圖像,但是這是並行完成的,並且具有較少的開銷。您可以編寫自己的生成器來應用所需的轉換(https://wiki.python.org/moin/Generators)。

如果你需要更快的內存訪問,你可以看看hdf5。您可以將圖像存儲在hdf5中,以便爲您的程序提供更快的索引和加載。 (http://www.h5py.org/