亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

TensorFlow keras 模型 fit() 參數steps_per_epoch

TensorFlow keras 模型 fit() 參數steps_per_epoch

智慧大石 2023-08-08 17:00:55
我正在使用 tf.data 數據集,其中包含由(比方說)100k 圖像組成的訓練數據。我還使用包含我的驗證集的 tf.data 數據集。由于所有 100k 圖像的 epoch 需要相當長的時間(在我的例子中大約一小時)才能獲得驗證集性能的任何反饋,因此我將steps_per_epochtf.keras.Model 中的參數設置fit()為10000。使用批量大小為 1 的結果是,當圖像數量達到 100k 時,驗證分數為 10。為了完成整個訓練數據集的 10 萬張圖像的一個 epoch,我將參數設置epochs為10但是,我不確定使用steps_per_epochandepochs這種方式是否會產生任何其他后果。使用這些參數以獲得更頻繁的性能反饋是否正確?還有一個更具體的問題,它是使用所有 100k 圖像還是在每個“時期”使用我的訓練集的相同前 10k 圖像?我已經深入研究了TensorFlow 文檔并閱讀了幾個不同的堆棧溢出問題,但我找不到任何結論性的東西來回答我自己的問題。希望您能幫忙!我使用的Tensorflow版本是2.2.0。
查看完整描述

1 回答

?
喵喵時光機

TA貢獻1846條經驗 獲得超7個贊

使用這些參數以獲得更頻繁的性能反饋是否正確?


是的,使用這些參數是正確的。這是我用來擬合模型的代碼。


model.fit(

train_data,

steps_per_epoch = train_samples//batch_size,

epochs = epochs,

validation_data = test_data,

verbose = 1,

validation_steps = test_samples//batch_size)

它是使用所有 100k 圖像還是在每個“時期”使用我的訓練集的相同前 10k 圖像?


它使用訓練數據中的所有圖像。


為了更好地理解,Epoch學習算法在整個訓練數據集上工作的次數。


其中 assteps_per_epoch是訓練數據集中的樣本總數除以批量大小。


例如,如果您有 100000 個訓練樣本并使用 100 的批量大小,則一個 epoch 將相當于 1000 steps_per_epoch。


注意:我們通常觀察批量大小為 2 的冪,這是因為優化矩陣運算庫的有效工作。


查看完整回答
反對 回復 2023-08-08
  • 1 回答
  • 0 關注
  • 224 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號