天天看點

epoches,batch_size,batches,steps

epoches:神經網絡的訓練次數

在神經網絡訓練時,如果資料集足夠小,可将資料一次性全部喂給神經網絡,如下:

for epoch in range(epoches):
	training(dataset)
           

但我們常常面臨的是比較大的資料集,一次性喂給神經網絡時,往往會出現記憶體/顯存不足的現象。

此時,我們會把比較大的資料集,分批次喂給神經網絡。

batch_size:表示一次性喂給神經網絡多少資料。

batches:該值等于dataset除以batch_size。總的資料集是dataset,我們每次喂給神經網絡batch_size個資料,一共要喂dataset/batch_size次,才可以把資料集全部處理一遍。

steps:該值等于batches。steps表示在一個epoch内,要疊代多少次才可以把所有的資料都訓練一遍;顯然,疊代次數等于dataset/batch_size。

分批次訓練的僞代碼如下:

for epoch in range(epoches):
	for batch in range(batches): # 等同于 for step in range(steps)
		training(datasets/batches)
           

繼續閱讀