📜  获取 cuda 内存 pytorch - Python (1)

📅  最后修改于: 2023-12-03 15:11:50.238000             🧑  作者: Mango

获取 CUDA 内存 PyTorch - Python

在 PyTorch 中,您可以使用以下方法获取 CUDA 内存:

import torch

# 获取当前 CUDA 设备上的显存
cuda_memory_allocated = torch.cuda.memory_allocated()

# 获取当前 CUDA 设备上的显存缓存
cuda_memory_cached = torch.cuda.memory_cached()

cuda_memory_allocated 返回一个整数,表示当前 CUDA 设备上已分配的 GPU 内存大小(以字节为单位)。您可以使用此方法检查当前内存使用情况。

cuda_memory_cached 返回一个整数,表示当前 CUDA 设备上已分配的 GPU 内存缓存大小(以字节为单位)。内存缓存是分配的内存块的列表,其中还未使用该内存。您可以使用此方法检查当前内存泄漏。

在 PyTorch 中,您还可以使用一些方法释放 CUDA 设备上的内存:

# 清替代方案内存缓存
torch.cuda.empty_cache()

# 根据名称释放 CUDA 设备上的内存
torch.cuda.empty_cache('cuda:1')

empty_cache() 方法清除 CUDA 设备上的内存缓存。 如果您的程序使用过多的内存,可以使用此方法释放缓存。

empty_cache(name) 方法按名称清除 CUDA 设备上的内存缓存。 如果您的程序使用多个 CUDA 设备,请指定设备名称以释放相关设备上的内存缓存。

总之,在 PyTorch 中获取和释放 CUDA 内存是一项重要的任务。 通过使用上述方法可以更精确地管理内存,避免出现内存泄漏和崩溃问题。