pytorch DDP模式中總是出現OOM問題。。

主要原因是沒有進行及時的內存回收,導致顯卡內存暴增:

解決方式:

在每個batch 反向傳播後,加上下面的內存回收:

        del loss
        torch.cuda.empty_cache()
        gc.collect()

另外一點是建議用loss.detach().item()來從graph中分離,這樣內存佔用會少一點,因爲如果使用loss.item(),它默認的整個graph

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章