簡體   English   中英

Tensorflow 每個時期對數據集的不同子集進行訓練

[英]Tensorflow training on different subset of dataset each epoch

我決定構建一個帶有增強圖像的大型數據集,以便在訓練期間節省時間,由於每張圖像都在運行中被增強,因此花費的時間太長,從而降低了性能和 GPU 的使用率。

我想知道是否有可能每個時期都對數據集的一個子集進行訓練以節省時間(訓練 4000 張圖像而不是 40000 張)。 這在某種程度上類似於交叉驗證,但我的目標只是減少每個時期訓練 model 的數據集部分,並隨機交替這些小部分。 當然,在交叉驗證中,我不會減少訓練數據集的大小,只是交替驗證集。

根據定義,一個紀元意味着整個數據集通過 model 進行訓練。 但是,您可以使用小批量訓練,將整個數據集分成多個批次,一次使用 .next_batch() function 或通過迭代數據集訓練一個批次。

當您定義數據集時,如果您希望在每個時期隨機選擇 bacthes 中的數據,則可以使用 .shuffle() 和 .batch(batch_size) 來定義每個批次要使用多少樣本。

暫無
暫無

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

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