Очистка памяти CUDA навсегда - PullRequest
1 голос
/ 29 апреля 2020

Это похоже на Как очистить память Cuda в PyTorch .

Я продолжаю выводить ошибку CUDA из памяти, хотя я использовал torch.cuda.empty_cache() в качестве первой строки мой код, после всех команд import. Кроме того, эта ошибка довольно случайна, и я вижу много людей, сталкивающихся с этой ошибкой на других форумах. Разве нет постоянного решения этой проблемы?

Я также делаю with torch.no_grad() во время оценки. Но это не имеет значения, так как мой код должен начать обучение, по крайней мере. Что это не так. Я явно перезагружал ядро ​​несколько раз и очищал кеш, как упоминалось ранее. Этот процесс в идеале должен очищать любые сохраненные тензоры в памяти графического процессора.


Ошибка:

RuntimeError: CUDA out of memory. Tried to allocate 144.00 MiB (GPU 0; 11.00 GiB total capacity; 3.99 GiB already allocated; 93.40 MiB free; 4.04 GiB reserved in total by PyTorch)

После нескольких попыток перезапуска ядра и очистки кэша, Я вставил print(torch.cuda.is_available()) до начала тренировки. Это волшебно сработало! Хотя я не вижу никакой логики c за ней.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...