今天用pytorch訓(xùn)練神經(jīng)網(wǎng)絡(luò)時(shí),出現(xiàn)如下錯(cuò)誤:
RuntimeError: CUDA out of memory. Tried to allocate 144.00 MiB (GPU 0; 2.00 GiB total capacity; 1.29 GiB already allocated; 79.00 MiB free; 1.30 GiB reserved in total by PyTorch)
明明 GPU 0 有2G容量介劫,為什么只有 79M 可用祟剔? 并且 1.30G已經(jīng)被PyTorch占用了惩坑。這就說明PyTorch占用的GPU空間沒有釋放愤诱,導(dǎo)致下次運(yùn)行時(shí)顷蟀,出現(xiàn)CUDA out of memory枉疼。
解決方法如下:
(1) win系統(tǒng)下找到 Anaconda Powershell Prompt
image.png
(2) 在shell窗口下輸入
nvidia-smi
這條命令是查看系統(tǒng)進(jìn)程的皮假,會(huì)顯示GPU的使用情況,以及占用GPU的應(yīng)用程序
image.png
(3) 找到運(yùn)行程序占用骂维, 輸入taskkill -PID 進(jìn)程號(hào) -F
結(jié)束占用進(jìn)程惹资,比如taskkill -PID 572
image.png
即可釋放GPU的占用空間。
(4) 用nvidia
查看一下結(jié)果,你會(huì)發(fā)現(xiàn)GPU被占用的空間大大降低航闺,這樣我們就可以愉快地使用GPU運(yùn)行程序了