Не найден соответствующий дистрибутив при установке cuDNN для TensorFlow v2.12 в Anaconda

Я попытался установить TensorFlow v2.12 в Anaconda с Python 3.9.16 и ОС Windows 10 с pip v23.0.1. Мне нужен Tensforflow v2.12 для моего графического процессора (RTX4080), и только эта версия работает с моим графическим процессором, поскольку поддерживает Cuda Toolkit v11.8, который является старейшим из поддерживающих графические процессоры Ada Lovelace.

Официальный сайт tensorflow.org для ОС Windows содержит следующие инструкции по установке.

  1. conda install -c conda-forge cudatoolkit=11.8.0
  2. python3 -m pip install nvidia-cudnn-cu11==8.6.0.163 tensorflow==2.12.*
  3. CUDNN_PATH=$(dirname $(python -c "import nvidia.cudnn;print(nvidia.cudnn.__file__)"))
  4. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CONDA_PREFIX/lib/:$CUDNN_PATH/lib

Проверить установку:

  1. python3 -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"

На вышеуказанных шагах Cuda Toolkit 11.8.0 и Tensorflow 2.12 устанавливаются без проблем. Однако, если я попытаюсь установить cuDNN 8.6.0.163, он не будет установлен и даст следующий результат.

Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
ERROR: Could not find a version that satisfies the requirement nvidia-cudnn-cu11==8.6.0.163 (from versions: 0.0.1.dev5, 2021.10.26, 2021.11.18, 2021.12.8, 2022.1.13, 2022.4.2, 2022.5.19)
ERROR: No matching distribution found for nvidia-cudnn-cu11==8.6.0.163

Что происходит не так? Есть ли идеи, как установить cuDNN 8.6.0.163?

Я пытался установить cuDNN 8.6.0.163 следующими способами, и все они дали один и тот же результат:

  • python -m pip install nvidia-cudnn-cu11==8.6.0.163 (питон в моем среда conda - v3.9.16, поэтому команды python3 не существует, это то же самое с питоном. Я проверил это с помощью: python --version)
  • pip install nvidia-cudnn-cu11==8.6.0.163
  • python -m pip install nvidia-cudnn-cu11==8.6.0.163 --no-cache-dir
  • python -m pip install nvidia-cudnn-cu11==8.6.0.163 --proxy = "xxx.xxx.xxx.xxx:xxxx" (где xxx.xxx.xxx.xxx:xxxx некоторые IP-адреса прокси и соответствующий порт)

Кроме того, я установил «nvidia-pyindex»: pip install nvidia-pyindex, но это не решает проблему.

После всего этого я попытался установить версию cuDNN 8.6.0.163 в среде Windows и установил правильные переменные среды, но Tenrosflow в Anaconda этого не видит и т. д.: print(tf.config.list_physical_devices('GPU'))

ничего не вернуть: [ ]

и с шага 3 я проверил это:

python -c "import nvidia.cudnn;print(nvidia.cudnn.__file__)

где это возвращение:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'nvidia'

В PowerShell:

nvidia-smi вернуть это:

«NVIDIA-SMI 531.41 | Версия драйвера: 531.41 | Версия CUDA: 12.1»

и nvcc -V вернуть это:

nvcc: драйвер компилятора NVIDIA (R) Cuda Авторское право (c) 2005-2022 Корпорация NVIDIA Построено Wed_Sep_21_10:41:10_Pacific_Daylight_Time_2022 Инструменты компиляции Cuda, выпуск 11.8, V11.8.89 Сборка cuda_11.8.r11.8/compiler.31833905_0

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
10
0
3 152
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Проблема здесь в том, что вы пытаетесь получить поддержку графического процессора с помощью TensorFlow 2.12 в ОС Windows. Но TensorFlow прекратил поддержку графического процессора после версии TF 2.10 в родной ОС Win согласно этому документу, где упоминается:

TensorFlow 2.10 был последним выпуском TensorFlow, который поддерживал GPU на родная-винда. Начиная с TensorFlow 2.11, вам потребуется установите TensorFlow в WSL2 или установите tensorflow-cpu и, при желании, попробуйте плагин TensorFlow-DirectML

Поэтому, пожалуйста, попробуйте еще раз, либо понизив версию TensorFlow 2.10 и установив совместимые CUDA 11.2 и cuDNN 8.1, как указано в этой протестированной конфигурации сборки, либо используйте плагин WSL2 или DirectML, чтобы иметь поддержку графического процессора с тензорным потоком в вашей системе.

Ты прав! Я выполнил процесс с WSL2 и установил Ubuntu на Windows 10 (совместимую с WSL2), которая теперь работает в ядре Linux! Спасибо!

Vasileios Delimaras 14.04.2023 17:36

Пробовал это с WSL2 с Ubuntu, и он не может найти nvidia-cudnn-cu11 даже с добавленными каналами conda-forge и nvidia.

chaostheory 25.05.2023 00:37

Другие вопросы по теме