Torch.cuda.is_available() продолжает переключаться на False

#pytorch #torch

#pytorch #torch

Вопрос:

Я попробовал несколько решений, которые намекали на то, что делать, когда графический процессор CUDA доступен и CUDA установлен, но Torch.cuda.is_available() возвращается False . Они помогли, но только временно, что означает torch.cuda-is_available() сообщение True, но через некоторое время оно снова переключилось на False. Я использую CUDA 9.0.176 и GTX 1080. Что я должен сделать, чтобы получить постоянный эффект?

Я попробовал следующие методы:

https://forums.fast.ai/t/torch-cuda-is-available-returns-false/16721/5
https://github.com/pytorch/pytorch/issues/15612

Примечание: Когда torch.cuda.is_available() работает нормально, но затем в какой-то момент переключается на False , тогда мне нужно перезагрузить компьютер, а затем он снова работает (в течение некоторого времени).

Комментарии:

1. Я сталкиваюсь с той же проблемой, но внутри docker. Это так раздражает, что мне нужно время от времени перезапускать docker. Вы нашли решение?

Ответ №1:

Также с torch.cuda.is_available () had false .
Но при установке драйвера Nvidia до самой последней версии 436.48 отображается значение True. Ранее я обновил Pytorch до 1.2.0. У меня Windows 10 и Anaconda.

введите описание изображения здесь

Ответ №2:

Причиной torch.cuda.is_available() False этого является несовместимость между версиями pytorch и cudatoolkit .

По состоянию на июнь 2022 года текущая версия pytorch совместима с cudatoolkit = 11.3, тогда как текущая версия cuda toolkit = 11.7. Источник

Решение:

  1. Удалите Pytorch для новой установки. Вы не можете установить старую версию поверх новой версии без принудительной установки (с помощью pip install --upgrade --force-reinstall <package_name> .
  2. Запустите conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch для установки pytorch.
  3. Установите версию CUDA 11.3 из https://developer.nvidia.com/cuda-11.3.0-download-archive .

Все готово. torch.cuda.is_available() --> True» src=»https://i.stack.imgur.com/skgmm.png»></a></p>
</div>
<h3><em>Комментарии:</em></h3>
<blockquote class=

1. 1 Это решило мою проблему. Я попробовал это с помощью CUDA 11.6, и он отлично работает. (в этом случае cuda-11.6.0-download-archive следует использовать вместе с conda install pytorch torchvision torchaudio cudatoolkit=11.6 -c pytorch -c conda-forge )

Ответ №3:

  1. Установите CUDA 9.1 с помощью apt-get, следуя инструкциям по этой ссылке:

https://cryptoandcoffee.com/mining-gems/cuda-9-0-install-ubuntu-16-04-apt-get/

  1. Установлен PyTorch с помощью pip:
     pip install torchvision ( this will install both torch and torchvision )
     
  2. Перезагрузка

Теперь попробуйте:

 ~$ python -c 'import torch; print torch.cuda.is_available()'
 

Ответ №4:

Я тоже видел эту проблему. Причиной была несинхронизация версии CUDA, используемой Pytorch, с установленным драйвером Nvidia. Как и в ответе Джо, решением было обновление драйверов Nvidia. Некоторая другая важная справочная информация, о которой следует знать:

  • Для каждого выпуска CUDA требуется минимальная версия драйвера Nvidia (см. Таблицу совместимости здесь).
  • Вы можете проверить версию драйвера Nvidia с nvidia-smi помощью .
  • Pytorch поставляется в комплекте с версией CUDA, которая может отличаться от версии, установленной на вашем компьютере.
  • Версия CUDA, которую вы установили вручную, отображается при запуске nvidia-smi . Даже если ваша версия драйвера совместима с этой версией CUDA, она может быть несовместима с версией Pytorch CUDA.
  • Вы можете получить версию Pytorch CUDA, напечатав torch.version.cuda переменную в ipython или в программе Python. Это версия, которая определяет необходимую версию драйвера Nvidia.

Комментарии:

1. AttributeError: module 'torch.cuda' has no attribute 'version'

2. спасибо — должно быть torch.version.cuda . Я отредактировал сообщение