我正在尝试使用 aitextgen 在数据集上微调 774M gpt 2。不幸的是,无论我做什么,训练都会失败,因为只有 80 MB 的 vram 可用。如何在不重新启动运行时的情况下清除 vram,并可能防止 vram 已满?
另一个解决方案可以使用这些代码片段。
1.
!pip install numba
from numba import cuda
# all of your code and execution
cuda.select_device(0)
cuda.close()
您的问题已在 Tensorflow 官方 github 中讨论。 https://github.com/tensorflow/tensorflow/issues/36465
更新:@alchemy 报告说,在打开方面这是无法恢复的。 您可以尝试下面的代码。
device = cuda.get_current_device()
device.reset()
!nvidia-smi
。!kill process_id
应该对你有帮助。
PyTorch 自动管理 CUDA 内存,因此您通常不需要手动关闭设备。如果您想释放 GPU 内存,可以尝试以下操作:
import torch
# Deletes all unused tensors
torch.cuda.empty_cache()