代碼方面
- 改小
batch size
- 要適當刪除沒用的中間變量(雖然效果不大)
比如:
del output
- train的時候,累加loss 一定要
+=loss.item()
,不然會把loss的history也加進去,又佔顯存了 - 同理2,及時detach()
比如rnn decoder的輸出中把上一個時間步的輸出作爲下一個時間步的輸入,那麼這個輸入完全就可以
.detach()
- valid or test的時候,一定要
with torch.no_grad()
- 用
torch.cuda.empty_cache()
清除顯存
外部方面
換個大顯存的GPU…
當然有這個錢的話就不會有遇到這個error了…
所以
如果不能拓展顯存,那麼就及時關閉佔用顯存的軟件,因爲我剛剛同時開了pr,佔了幾百M,關了以後明顯佔用小了300m
然後重啓一下pycharm也會結束這個進程 釋放一些因爲在佔用沒法完全清楚的顯存 (也就大概200m吧)
Nvidia-smi
查看顯存佔用的情況哈