TensorFlow не видит Cuda
Пользуюсь JupyterNotebook из дистрибутива Anaconda. ОС — Windows 11. CUDA v11. CUDNN v8.7. Команда nvcc -V в PowerShell работает, выводит версию CUDA.
Отслеживать
задан 30 янв 2023 в 15:01
11 3 3 бронзовых знака
А посмотрите что внутри ноутбука выдаст !set , правильный ли там PATH ? И !python -V посмотрите, та ли версия питона запускается. В общем, посмотрите окружение из самого юпитер ноутбука, всё ли там нормально.
31 янв 2023 в 6:54
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Долго мучился с похожей проблемой. Переустановил всё что можно и CUDA, и Python, и библиотеки, и разные версии всего, что только можно. В итоге на одном сайте, нашёл информацию как проверить версию установленного драйвера CUDA https://russianblogs.com/article/8204984484/. Если кратко, то в трее двойным щелчком открываете настройки Nvidia

Затем в левом нижнем углу нажимаем информация о системе

[
Переходим на вкладку Компоненты и смотрим версию драйвера CUDA

Поскольку я не так давно обновился, то отображается стоит 12.0. И видимо поэтому при установке более ранней CUDA tensorflow не запускался. После этого скачал и установил CUDA Toolkit 12.0 и tensorflow начал нормально видеть GPU.
Проверка использования GPU в PyTorch

Зачастую при работе с библиотекой PyTorch для машинного обучения возникает необходимость убедиться в том, что библиотека использует возможности графического процессора (GPU). Это может быть важно, так как обучение моделей на GPU обычно происходит значительно быстрее, чем на центральном процессоре (CPU).
Обычно для проверки активности GPU используется консольная команда nvidia-smi . Однако, возможно, есть желание проверить использование GPU прямо из скрипта на Python. Например, для автоматизации процесса проверки или для внедрения такой проверки в код проекта.
В PyTorch есть встроенные средства для проверки того, используется ли GPU. Для этого можно воспользоваться следующим кодом:
import torch print(torch.cuda.is_available())
Если этот код возвращает True , это означает, что PyTorch успешно обнаруживает GPU и может использовать его для обучения моделей. Если возвращается False , значит, GPU либо отсутствует, либо PyTorch не может его обнаружить.
Также можно проверить, на каком устройстве находится тензор. Для этого можно использовать метод .device у тензора:
x = torch.Tensor([1, 2, 3]) print(x.device)
Возвращаемое значение будет указывать на устройство, на котором находится тензор: cpu для центрального процессора и cuda:0 для GPU.
Шпаргалка по установке CUDA, cuDNN, Tensorflow и PyTorch на Windows 10

В очередной раз после переустановки Windows осознал, что надо накатить драйвера, CUDA, cuDNN, Tensorflow/Keras для обучения нейронных сетей.
Каждый раз для меня это оказывается несложной, но времязатратной операцией: найти подходящую комбинацию Tensorflow/Keras, CUDA, cuDNN и Python несложно, но вспоминаю про эти зависимости только в тот момент, когда при импорте Tensorflow вижу, что видеокарта не обнаружена и начинаю поиск нужной страницы в документации Tensorflow.
В этот раз ситуация немного усложнилась. Помимо установки Tensorflow мне потребовалось установить PyTorch. Со своими зависимостями и поддерживаемыми версиями Python, CUDA и cuDNN.
По итогам нескольких часов экспериментов решил, что надо зафиксировать все полезные ссылки в одном посте для будущего меня.
Краткий алгоритм установки Tensorflow и PyTorch
Примечание: Установить Tensorflow и PyTorch можно в одном виртуальном окружении, но в статье этого алгоритма нет.
Подготовка к установке
- Определить какая версия Python поддерживается Tensorflow и PyTorch (на момент написания статьи мне не удалось установить PyTorch в виртуальном окружении с Python 3.9.5)
- Для выбранной версии Python найти подходящие версии Tensorflow и PyTorch
- Определить, какие версии CUDA поддерживают выбранные ранее версии Tensorflow и PyTorch
- Определить поддерживаемую версию cuDNN для Tensorflow – не все поддерживаемые CUDA версии cuDNN поддерживаются Tensorflow. Для PyTorch этой особенности не заметил
Установка CUDA и cuDNN
- Скачиваем подходящую версию CUDA и устанавливаем. Можно установить со всеми значениями по умолчанию
- Скачиваем cuDNN, подходящую для выбранной версии Tensorflow (п.1.2). Для скачивания cuDNN потребуется регистрация на сайте NVidia. “Установка” cuDNN заключается в распакове архива и заменой существующих файлов CUDA на файлы из архива
Устанавливаем Tensorflow
- Создаём виртуальное окружение для Tensorflow c выбранной версией Python. Назовём его, например, py38tf
- Переключаемся в окружение py38tf и устанавливаем поддерживаемую версию Tensorflow pip install tensorflow==x.x.x
- Проверяем поддержку GPU командой
python -c "import tensorflow as tf; print('CUDA available' if tf.config.list_physical_devices('GPU') else 'CUDA not available')"
Устанавливаем PyTorch
- Создаём виртуальное окружение для PyTorch c выбранной версией Python. Назовём его, например, py38torch
- Переключаемся в окружение py38torch и устанавливаем поддерживаемую версию PyTorch
- Проверяем поддержку GPU командой
python -c "import torch; print('CUDA available' if torch.cuda.is_available() else 'CUDA not available')"
В моём случае заработала комбинация:
- Python 3.8.8
- Драйвер NVidia 441.22
- CUDA 10.1
- cuDNN 7.6
- Tensorflow 2.3.0
- PyTorch 1.7.1+cu101
Tensorflow и PyTorch установлены в разных виртуальных окружениях.
Итого
Польза этой статьи будет понятна не скоро: систему переустанавливаю я не часто.
Если воспользуетесь этим алгоритмом и найдёте какие-то ошибки – пишите в комментарии
Форум русскоязычного сообщества Ubuntu
Страница сгенерирована за 0.038 секунд. Запросов: 23.
- Сайт
- Об Ubuntu
- Скачать Ubuntu
- Семейство Ubuntu
- Новости
- Форум
- Помощь
- Правила
- Документация
- Пользовательская документация
- Официальная документация
- Семейство Ubuntu
- Материалы для загрузки
- Совместимость с оборудованием
- RSS лента
- Сообщество
- Наши проекты
- Местные сообщества
- Перевод Ubuntu
- Тестирование
- RSS лента
© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.