Batch-Size簡稱BS。 這是一個非常常見的參數,所有模型都具備的一個參數。 這其實是深度學習中的一個基礎概念。要說理論可以說出一大堆,大家可以先簡單的理解為一次處理的圖片張數。為了防止嚇跑小白,還是從實際操作說起。
1.如何設置batch-size
雙擊train64.bat 啟動程序,三次回車后就出現了Batch_size,此時你可以輸入一個具體的數字,比如:8。也可以直接回車(默認值為:4)。
2.修改設置batch-size
如果你更換了設備,或者從其他地方搞來了一個模型,因為配置不一樣了,你可能需要修改BS,此時可以參考下面的操作。
同樣雙擊train64.bat 啟動程序,鼠標點擊黑色窗口確保已經激活狀態,然后立馬回車,再來一個三連擊,就可以修改BS了。
3 batch-size 設置成多少比較好?
理論放在最后,我們還是先實踐,對比下H64模型,bs4和bs32,跑1000個iter的效果。
BS=4 的時候,單個迭代大概380ms, 1000個迭代后src_loss>2 總時間大概380s=6分鍾。
BS=32 的時候,單個迭代大概680ms, 1000個迭代后src_loss<2 , 總時間大概680s=11分鍾。
通過簡單的對比可以發現。如果迭代次數相同,bs大的效果相對較好,loss曲線更加“瘦” 降低的比較快,但是相應消耗的時間也多了不少,接近一倍,同時還要消耗更多顯存。
所以這個值並不是單純的說越小越好,或者越大越好,而是時間和機器性能的一個平衡。 軟件的默認值為4,推薦的取值為2的n次方,比如4,8,16,32,64,128。 一般用4,8,16比較多。
上圖為,BS從8改到16。可以看到BS變大后振幅明顯變小,時間翻倍,但是最低點並沒有太大變化。
凡是有size的東西,大家往往都迷戀“大” (單純一笑),其實合適的才是最好。
BS基本的原則是:根據自己的硬件設備來調整,從小往上調,調到OOM就知道極限在哪里了。
我喜歡練模型的時候開大一點,具體使用的時候開小一點。
4.batch-size擴展閱讀
學有余力的想上進的可以看看專業的介紹,大神就不用看了。
小白也不要為難自己咯!即使讀不懂這些,也能把軟件玩的很溜。看完下面這篇文章,請告訴我梯度是什么,哈哈!
原文地址:https://blog.csdn.net/qq_34886403/article/details/82558399
-------------------------------------------------------------------------------------------------------
獲取更多Deepfakes/AI換臉內容可訪問deepfakes中文網
第一時間獲取相關文章可關注微信公眾號:托尼是塔克(TonyIsStark)