#python #tensorflow
Вопрос:
я использую Ubuntu 20.04.3 и пытаюсь установить tensorflow. Версия драйвера Nvidia Driver Version: 470.63.01
. Сначала я установил cuda 11.0 и проверил его установку с помощью следующей команды
cat /usr/local/cuda/version.txt
Он выводит версию CUDA 11.0.207.
Затем я установил cudnn
tar -xzvf cudnn-11.0-linux-x64-v8.0.5.39
sudo cp cuda/include/cudnn*.h /usr/local/cuda/include
sudo cp -P cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
Я также проверил файлы cuda с помощью этой команды
ls /usr/local |grep cuda
что приводит к
cuda cuda-11.0
Файлы Cudnn проверяются
ls /usr/local/cuda-11.0/lib64/libcudnn.so.8*
и вывод
/usr/local/cuda-11.0/lib64/libcudnn.so.8
/usr/local/cuda-11.0/lib64/libcudnn.so.8.0.5
Затем я установил tensorflow
pip install tensorflow==2.4.0
но когда я запускаю
import tensorflow as tf
tf.config.list_physical_devices('GPU')
Он не получил графический процессор, и ошибка Could not load dynamic library 'libcudnn.so.8'; dlerror: libcudnn.so.8: cannot open shared object file: No such file or directory
Ответ №1:
Я только что столкнулся с той же проблемой. Из вашего фрагмента кода я вижу, что вы ссылаетесь на два разных местоположения CUDA:
/usr/local/cuda/
/usr/local/cuda-11.0/
Поэтому вы можете перепроверить, вызывает ли это проблему.
Отсюда я узнал, что TF считывает системную информацию о доступной CUDA из LD_LIBRARY_PATH
. В системе, которую я использую, установлено несколько версий CUDA. Таким образом, экспорт этих путей явно устранил проблему для меня:
export LD_LIBRARY_PATH=/usr/local/cuda-11.0/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda-11.0
Конечно, вам нужно будет адаптировать путь к вашей конкретной ситуации.