Функция memory_allocated
Функция torch.cuda.memory_allocated возвращает
количество байтов памяти, выделенной тензорами PyTorch
на GPU для заданного устройства.
Первый параметр функции - идентификатор устройства
(по умолчанию текущее устройство).
Возвращаемое значение - целое число,
показывающее текущее использование памяти в байтах.
Синтаксис
torch.cuda.memory_allocated([device])
Пример
Давайте создадим тензор на GPU и проверим, сколько памяти было выделено:
import torch
# Проверяем наличие CUDA
if torch.cuda.is_available():
t = torch.tensor([1, 2, 3, 4, 5], device='cuda')
allocated = torch.cuda.memory_allocated()
print(allocated)
Результат выполнения кода:
80
Пример
Давайте создадим несколько тензоров на GPU и посмотрим, как изменяется выделенная память:
import torch
if torch.cuda.is_available():
print(torch.cuda.memory_allocated())
t1 = torch.tensor([1, 2, 3], device='cuda')
print(torch.cuda.memory_allocated())
t2 = torch.tensor([4, 5, 6, 7, 8], device='cuda')
print(torch.cuda.memory_allocated())
del t1
print(torch.cuda.memory_allocated())
Результат выполнения кода:
0
48
80
48
Пример
Давайте укажем конкретное устройство для получения информации о памяти:
import torch
if torch.cuda.is_available():
device_id = 0
allocated = torch.cuda.memory_allocated(device_id)
print(allocated)
Результат выполнения кода:
0
Смотрите также
-
функцию
max_memory_allocated,
которая возвращает пиковое значение выделенной памяти -
функцию
memory_reserved,
которая возвращает объем зарезервированной памяти -
функцию
empty_cache,
которая освобождает кэшированную память на GPU -
функцию
memory_stats,
которая возвращает статистику использования памяти