2017-06-16 57 views

回答

2

如果您已經準備好了所有必要方面的數據和標籤,並且只需將這些數據和標籤分配給數組x和y,那麼可以使用model.fit(x,y)。

如果您需要預處理和/或擴充您的數據培訓比您可以利用Keras提供的生成器。

例如,您可以通過應用隨機變換(非常有用,如果您只有很少的數據需要訓練),填充序列,標記文本,讓Keras自動從文件夾讀取數據並分配適當的類(flow_from_directory)以及更多。

看到這裏的例子和樣板代碼的圖像預處理:https://keras.io/preprocessing/image/

或這裏文本預處理: https://keras.io/preprocessing/text/

fit_generator也將幫助您更內存高效的方式訓練,因爲你只加載數據需要的時候。可以說,發電機功能可以按需批量生產(也稱爲「交付」)數據到您的模型。

2

它們適用於上一張海報中提到的即時增強。然而,這並不一定限於發電機,因爲您可以適應一個時代,然後再增加您的數據並再次適合。

什麼不適合適合每個時代使用太多的數據。這意味着,如果您擁有1 TB的數據集並且只有8 GB的RAM,則可以使用生成器即時加載數據,並且只能在內存中保存多個批次。這極大地幫助擴展到巨大的數據集。