Я попытался установить 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 содержит следующие инструкции по установке.
conda install -c conda-forge cudatoolkit=11.8.0
python3 -m pip install nvidia-cudnn-cu11==8.6.0.163 tensorflow==2.12.*
CUDNN_PATH=$(dirname $(python -c "import nvidia.cudnn;print(nvidia.cudnn.__file__)"))
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CONDA_PREFIX/lib/:$CUDNN_PATH/lib
Проверить установку:
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'
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
Проблема здесь в том, что вы пытаетесь получить поддержку графического процессора с помощью 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, и он не может найти nvidia-cudnn-cu11 даже с добавленными каналами conda-forge и nvidia.
Ты прав! Я выполнил процесс с WSL2 и установил Ubuntu на Windows 10 (совместимую с WSL2), которая теперь работает в ядре Linux! Спасибо!