訓練tensorflow model時:
model.fit(..., steps_per_epoch=10000, ....)
我想steps_per_epoch從提供的資料集中計算:
dataset = tf.data.TFRecordDataset([filenames])
dataset = dataset.repeat(1)
dataset = dataset.batch(512)
total = 0
for i in dataset:
total = 1
print("Total is {}".format(total))
輸出是:
Total is 393
是否steps_per_epoch等于393?
或者
steps_per_epoch= 393 / 512?
uj5u.com熱心網友回復:
僅當我們使用大型資料集時,引數 steps_per_epoch 才是模型訓練的一部分。steps_per_epoch確定要在單個資料集中訓練的批次以提高模型的準確性。
steps_per_epoch取決于batch_size和training_set大小
batch_size=50
trainingsize = 30000
def calculate_spe(y, batch_size):
return int(math.ceil((1. * y) / batch_size))
stepsPerEpoch = calculate_spe(trainingsize, batch_size)
在計算每個時期的步驟后,您可以將其用作:
model.fit(..., steps_per_epoch = stepsPerEpoch , ....)
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/495341.html
