我可以在colab中清理gpu vram吗

问题描述 投票:0回答:3

我正在尝试使用 aitextgen 在数据集上微调 774M gpt 2。不幸的是,无论我做什么,训练都会失败,因为只有 80 MB 的 vram 可用。如何在不重新启动运行时的情况下清除 vram,并可能防止 vram 已满?

google-colaboratory gpt-2 fine-tuning vram
3个回答
11
投票

另一个解决方案可以使用这些代码片段。

1.

!pip install numba
  1. 然后:
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()

0
投票
  1. 在笔记本块内运行命令
    !nvidia-smi
  2. 查找您不需要删除以清理 vram 的 GPU 的进程 ID。然后运行命令
    !kill process_id

应该对你有帮助。


0
投票

PyTorch 自动管理 CUDA 内存,因此您通常不需要手动关闭设备。如果您想释放 GPU 内存,可以尝试以下操作:


import torch

# Deletes all unused tensors
torch.cuda.empty_cache()
© www.soinside.com 2019 - 2024. All rights reserved.