Как точно отслеживать использование видеопамяти графического процессора?Python

Программы на Python
Anonymous
Как точно отслеживать использование видеопамяти графического процессора?

Сообщение Anonymous »

Я хочу знать, сколько видеопамяти графического процессора будет занимать каждая строка программы. Когда я ввожу изображение 224x224x3 в VGG16, общее количество параметров составляет 138 364 968. Каждый параметр может хранить dtype float32, тогда общее использование видеопамяти при запуске кода model.to("cuda") должно составлять 138364986*4(байт)/1024**2=527,820534 МБ.< /p>
Когда я использую этот код:

Код: Выделить всё

def get_gpu_memory_usage():
result = subprocess.check_output(['nvidia-smi', '--query-gpu=memory.used', '--format=csv,noheader,nounits'])
return int(result.decode().strip())
Перехватите каждую строку следующим образом:

Код: Выделить всё

model.to(device)
line1_memory = get_gpu_memory_usage() - initial_gpu_memory
line_memory_usage.append(line1_memory)
Эта строка model.to(device) потребляет 1125 МБ видеопамяти. Я думаю, что он должен потреблять 527,820534 МБ. Я что-то пропустил?


Подробнее здесь: https://stackoverflow.com/questions/781 ... vram-usage

Вернуться в «Python»