簡體   English   中英

Keras Sequence,fit_generator和steps_per_epoch

[英]Keras Sequence, fit_generator and steps_per_epoch

我注意到使用fit_generatorsteps_per_epoch參數通常被賦予total_samples//batch_size ,其中可以創建生成器/使用ImageDataGenerator並將其作為參數傳遞給fit_generator

但是我使用Sequence類( keras.utils.Sequence() )來創建我的生成器並傳遞steps_per_epoch一個小於total_samples//batch_size的整數。

我想知道的是,每個時代完成后,生成器中的數據生成是從頭開始的嗎?

例如,我的訓練集中有3200個樣本,我使用32的批量大小。理想情況下,對於一個完整的紀元,我應該將steps_per_epoch設置為100.但是,如果我將steps_per_epoch設置為50,會發生什么? 一旦完成第一個紀元,將生成數據點編號1601(32 * 50)還是從頭開始(數據點編號1)?

使用Sequence ,您不需要傳遞steps_per_epoch ,因為可以從Sequence.__len__方法推斷出此信息Sequence.

如果你在使用Sequence傳遞steps_per_epoch ,這將覆蓋__len__方法的任何使用,它實際上只會使用你序列中的steps_per_epoch樣本(從0到steps_per_epoch - 1 ),它會在紀元結束時重置為零。 您可以在keras源代碼中檢查此行為。

暫無
暫無

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

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