Ошибка: OOM при выделении тензора с формой - PullRequest
0 голосов
/ 08 июня 2018

Я столкнулся с проблемой с моей начальной моделью во время тестирования производительности с Apache JMeter.

Ошибка: OOM при выделении тензора с формой [800,1280,3] и типом float on / job:localhost / replica: 0 / task: 0 / device: GPU: 0 от распределителя GPU_0_bfc [[Узел: Cast = CastDstT = DT_FLOAT, SrcT = DT_UINT8, _device = "/ job: localhost / replica: 0 / task: 0 / device: 0 / device:GPU: 0 "]] Подсказка: если вы хотите увидеть список выделенных тензоров, когда происходит OOM, добавьте report_tensor_allocations_upon_oom в RunOptions для информации о текущем распределении.

Ответы [ 2 ]

0 голосов
/ 08 июня 2018

Если у вас под рукой несколько GPUS, пожалуйста, выберите графический процессор, который не так занят, как этот (возможно, другие процессы также выполняются на этом графическом процессоре).Перейдите к терминалу и введите

export CUDA_VISIBLE_DEVICES=1 

, где 1 - номер другого доступного графического процессора.Повторно запустите тот же код.

Вы можете проверить доступные графические процессоры, используя

nvidia-smi 

, это покажет вам, какие графические процессоры доступны и сколько памяти доступно на каждом из них

0 голосов
/ 08 июня 2018

OOM расшифровывается как Out Of Memory.Это означает, что в вашем GPU не хватает места, вероятно, потому, что вы выделили другие тензоры, которые слишком велики.Это можно исправить, уменьшив размер модели или уменьшив размер партии.Судя по всему, вы подаете большое изображение (800x1280), которое вы, возможно, захотите уменьшить.

...