本來以為服務(wù)器上不會出現(xiàn)內(nèi)存不夠的情況腻脏,看來還是我低估了數(shù)據(jù)量啊,怎么解決呢冯丙,在沒有辦法增加GPU 資源的情況下肉瓦,只能減小你的batch_size了,減到了8勉強能跑通胃惜。
這個batchsize調(diào)節(jié)有什么作用呢:在合理范圍內(nèi)泞莉,增大 Batch_Size 有何好處?
內(nèi)存利用率提高了船殉,大矩陣乘法的并行化效率提高鲫趁。
跑完一次 epoch(全數(shù)據(jù)集)所需的迭代次數(shù)減少,對于相同數(shù)據(jù)量的處理速度進一步加快利虫。
在一定范圍內(nèi)挨厚,一般來說 Batch_Size 越大,其確定的下降方向越準列吼,引起訓(xùn)練震蕩越小幽崩。
盲目增大 Batch_Size 有何壞處?
內(nèi)存利用率提高了寞钥,但是內(nèi)存容量可能撐不住了慌申。
跑完一次 epoch(全數(shù)據(jù)集)所需的迭代次數(shù)減少,要想達到相同的精度理郑,其所花費的時間大大增加了蹄溉,從而對參數(shù)的修正也就顯得更加緩慢。
Batch_Size 增大到一定程度您炉,其確定的下降方向已經(jīng)基本不再變化柒爵。
嗯,以上是我從知乎上的一個答案里看到的赚爵,復(fù)制過來自己學(xué)習C拚汀!希望作者不要看到(偷笑)