最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Pytorch顯存管理

2023-08-14 10:25 作者:傑君  | 我要投稿

在模型訓練過程中,顯存的管理是需要注意的環(huán)節(jié),盡量用滿顯存在一定程度上可以縮短訓練時間,但過于貪心往往會遇到CUDA out of memory問題,鈔能力不足的情況下,可以嘗試一下手段來減少資源需求。

  1. 減少batch_size:這是最簡單有效的方法,減少一批讀取的數(shù)據(jù),從而減少顯存的使用量,但如果每個批次都需要重新讀取新的數(shù)據(jù)而不是固定死的,又沒辦法一次性讀取完數(shù)據(jù)集(比較少見這樣的需求,但我遇到了),就得嘗試其他的方法了。

  2. 勤使用torch.cuda.empty_cache():雖然python內(nèi)部也有資源管理機制,但有時候還是笨笨的,不能及時釋放資源,此時就需要我們調(diào)用該函數(shù)手動釋放。

  3. 減少線程使用num_workers:在dataloader中將會傳入該參數(shù),可以減少該參數(shù)值從而減少內(nèi)存使用。

  4. 使用混合精度:計算機中數(shù)據(jù)存儲的格式有許多種,此處舉個簡單例子如short int和int,之間就差距很大,pytorch中有torch.cuda.amp模塊可以來實現(xiàn)混合精度訓練,需要注意的是,該方法會存在精度損失,從而影響最終迭代結(jié)果,但因為一般情況下?lián)p失微乎其微,所以基本不會對結(jié)果產(chǎn)生影響,在這方面有需求的使用者慎重,下面是示例代碼:

最后如果以上方法都無法滿足,就需要從模型入手,深度可分離卷積是一個很好地降低模型參數(shù)的方法,當然優(yōu)化數(shù)據(jù)也是可以的,相信能做到這些的同學,也不需要我過多說明。

最后希望大家都有鈔能力能免受這種瑣碎之事的困擾。

Pytorch顯存管理的評論 (共 條)

分享到微博請遵守國家法律
历史| 汕头市| 连州市| 深泽县| 无锡市| 宁夏| 锡林浩特市| 宁强县| 子长县| 应城市| 双城市| 新绛县| 隆化县| 怀仁县| 京山县| 麻城市| 武义县| 凉城县| 巴林左旗| 麦盖提县| 万盛区| 祁门县| 襄垣县| 余姚市| 平昌县| 江川县| 松滋市| 荥经县| 新疆| 威信县| 葵青区| 延庆县| 呼和浩特市| 子洲县| 临城县| 开原市| 五河县| 云安县| 酉阳| 滁州市| 玉田县|