Ошибка «RuntimeError: cudnn error: cudnn_status_not_initialized» в PyTorch возникает, когда библиотека CUDA-DNN(cudnn) инициализируется неправильно.
PyTorch лениво инициализирует cuDNN всякий раз, когда свертка выполняется в первый раз.
Если для инициализации cuDNN осталось недостаточно памяти графического процессора, поскольку PyTorch уже содержал всю память во внутреннем кэше, может возникнуть ошибка такого типа.
Другие причины ошибки
- Библиотека cudnn отсутствует или устарела.
- Проблемы с установкой инструментария CUDA.
- Проблемы с устройством или драйвером графического процессора.
- Неправильные версии библиотек CUDA и cudnn.
Как исправить RuntimeError: ошибка cudnn: cudnn_status_not_initialized
Чтобы исправить ошибку RuntimeError: ошибка cudnn: ошибка cudnn_status_not_initialized, примените следующие решения.
- Понизьте версию PyTorch, если последняя версия несовместима. В зависимости от времени, когда вы столкнулись с этой проблемой, возможно, проблема будет решена в следующей или более новой версии; в этом случае обновите версию и посмотрите, работает ли она; если это не так, понизьте версию. Это работает в обе стороны. Итак, посмотрите, какой подход вам подходит.
- Вам необходимо проверить, правильно ли настроено и доступно устройство графического процессора.
- Используйте более низкую версию CUDA и библиотеки cudnn, чтобы проверить, совместима ли она с Pytorch и сохраняется ли ошибка.
- Удалите библиотеки Pytorch, CUDA и cudnn и переустановите библиотеку CUDA и cudnn или установите версию Pytorch, включающую библиотеку cudnn.
- Очистите кеш вручную с помощью «torch.cuda.empty_cache()» прямо перед выполнением первой свертки.
- cuDNN не поддерживается в виртуальных средах, и запуск вашего кода в виртуальной среде может вызвать ошибку RuntimeError.
- Установка torch с помощью CUDA 11.1 с помощью следующей команды устранила первую проблему с torch 1.8:
pip install torch==1.8.0+cu111 torchvision==0.9.0+cu111 torchaudio==0.8.0 -f https://download.pytorch.org/whl/torch_stable.html
Я надеюсь, что после всех этих исправлений одно из решений вам подойдет.
Библиотека CUDA Deep Neural Network(cuDNN) — это библиотека с графическим ускорением для глубокого обучения, разработанная NVIDIA.
cuDNN предназначен для работы с набором инструментов CUDA, комплектом разработки программного обеспечения от NVIDIA, который позволяет разработчикам использовать мощность графических процессоров для вычислений общего назначения.
