每輪訓練步數

🧮 Steps per Epoch Calculator

Compute the number of training steps per epoch from dataset size and batch size, for training-loop and sharding checks.

📐 計算公式 / 原理
每卡步數 = ⌈樣本數 / 批次⌉;每步覆蓋樣本 = 批次 × 卡數
多卡資料並行時,全域性批次 = 單卡批次 × 卡數,每卡步數不變但每步實際看到的樣本翻倍數等於卡數。因此擴卡後要保持等效訓練強度,需按比例調大學習率或增加輪數。

📐 計算公式與說明

步數 = ⌈資料/批次⌉

分散式下每卡步數不變,總樣本覆蓋相同。

📚 深度解析:每輪訓練步數

💡 常見使用場景

步數計算
N=50000, batch=64 → steps=⌈50000/64⌉=782 步/輪。4 卡資料並行每卡 batch=64 則每卡 782 步(總樣本不變),等效 batch=256 使收斂更快。

❓ 常見問題(FAQ)

分散式每卡步數變少嗎?
若每卡 batch 不變,每卡處理的樣本數減少,步數按每卡樣本算會減少;總計算量不變,只是並行加速,等效 batch 變大了。
尾批怎麼影響步數?
向上取整已含尾批(不足 batch 的餘量)。若啟用 drop_last 則步數=⌊N/batch⌋,少算一個不完整批,需在指標上對應處理。