相关-37. 释放GPU显存

文章目录

  • 1. 起因
  • 2. 常规解决

1. 起因

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)

我的机器显存只有4G

  • 如果启动训练后由于代码错误,但是数据和模型已经加载到GPU中。
    • 此时报错后,并不会自动释放GPU,需要重启jupyter lab,清空所有变量,GPU显存才会干净。才可以继续运行
    • 因为jupyter lab报错其实只是程序暂停,但是默认那些在GPU显存中的变量还是存在被引用关系,因此不会自动释放。
  • jupyter训练报错占GPU显存 → 其实就类似于在linux中使用ctrl+z暂停程序,但是程序依然在内存中。
  • 同样,重启jupyter,不需要在命令行中重启,只需要点击jupyter界面上方工具栏中的这个restart the kernel就可以清空当前所有变量,包括GPU显存中的内容

但是这样我需要重新执行很多东西,因此需要了解如何手动释放GPU显存。


2. 常规解决

大部分的解

你可能感兴趣的:(动手学深度学习pytorch,pytorch,深度学习,人工智能)