Неполный PyTorch с любой версией CUDA (модуль ‘torch’ не имеет атрибута ‘cuda’)

#python #pytorch

#python #pytorch

Вопрос:

У меня установлены NVidia 1080TI, Ubuntu x64 и Python 3.6.9. Я пытался запустить PyTorch с помощью команды

 import torch
print(torch.cuda.is_available)
 

и ожидал увидеть ‘True’, но встретил ошибку:

 AttributeError: module 'torch' has no attribute 'cuda'
 

Я попытался обновить PyTorch и установить последнюю версию 1.7.0 с поддержкой CUDA 11.0. После этого я заметил некоторые несоответствия версий. nvidia-smi показывает версию CUDA 11.0, но nvcc -V показывает 9.1. Кроме того, я cat /usr/local/cuda/version.txt проверял версию CUDA, но получил ошибку: cat: /usr/local/cuda/version.txt: No such file or directory
Я установил драйвер CUDA 450.33 после полной очистки nvidia, но ошибка остается и nvcc -V по-прежнему показывает версию 9.1 (также после перезагрузки).
Еще один вариант, к которому я обратился, — это установка conda, но это не помогло.
Что я могу сделать, чтобы решить проблему?

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

1. Несоответствие nvcc версий — отвлекающий маневр. Pytorch вообще не использует системный CUDA. При установке с помощью conda или pip он поставляется со своей собственной копией CUDA. Вам даже не нужно устанавливать CUDA в вашей системе, чтобы использовать pytorch с поддержкой CUDA. nvidia-smi просто отображает последнюю версию CUDA, совместимую с вашими графическими драйверами, версия, отображаемая здесь, является чисто функцией вашего графического драйвера и ничего не говорит о наборе инструментов CUDA в вашей системе.

2. Какую команду вы использовали для установки pytorch в вашей системе? Для последней версии вы должны использовать conda install pytorch torchvision torchaudio cudatoolkit=11.0 -c pytorch (на основе виджета из pytorch.org ).

3. @jodag, спасибо за ответ! Это проясняет видение проблемы. Однако я все еще не понимаю, почему копия CUDA не поддерживает каждую версию pytorch, которую я пытаюсь установить. Я попытался успешно завершить установку как с помощью pip, так и с conda, но ничего не помогает. 🙁

4. @jodag Я также использовал вашу отправленную команду, но в основном использовал pip для установки.

5. Я бы рекомендовал повторить попытку, начиная с чистой среды virtualenv или conda. Исходя из того, что вы указали в своем вопросе, я не вижу никаких причин, по которым ваша система несовместима с pytorch с cuda.

Ответ №1:

В результате у меня был файл с именем torch.py в моем домашнем каталоге. После переименования проблема была решена.
Спасибо. Возможно, мой ответ будет кому-то полезен.