torch.load CUDA ERROR: out of memory


在pytorch中load模型,出現CUDA ERROR:out of memory,基本有下面三個原因:

CUDA顯存不足

解決辦法:換成顯存更大的顯卡

顯卡被占用

當存在多個顯卡時,pytorch默認使用0號顯卡,當0號顯卡被占用時,即使1號顯卡空閑仍然會報錯
解決辦法:讓其他顯卡不可見,此時0號顯卡為空余的1號顯卡

import os

os.environ['CUDA_VISIBLE_DEVICE']='1'

模型保存GPU不同

使用cuda:0訓練保存的模型,如果直接使用cuda:1去load,也會報錯
解決辦法:model.load_state_dict(torch.load('trained.pth', map_location={'cuda:0': 'cuda:1'}))

參考


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM