Recientemente intenté actualizar mi instalación de Tensorflow de 0.6 a 0.7.1 (Ubuntu 15.10, Python 2.7) porque se describe que es compatible con bibliotecas Cuda más actualizadas. Todo funciona bien, incluida la prueba simple de la página de inicio de Tensorflow. Sin embargo, no puedo usar cuDNN. Cuando ejecuto un programa usando cuDNN, primero recibo una advertencia
"No se puede cargar cuDNN DSO"
y luego el programa falla con
I tensorflow/core/common_runtime/gpu/gpu_device.cc:717] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 980, pci bus id: 0000:01:00.0) I tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:73] Allocating 3.30GiB bytes. I tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:83] GPU 0 memory begins at 0x704a80000 extends to 0x7d80c8000 F tensorflow/stream_executor/cuda/cuda_dnn.cc:204] could not find cudnnCreate in cudnn DSO; dlerror: /usr/local/lib/python2.7/dist-packages/tensorflow/python/_pywrap_tensorflow.so: undefined symbol: cudnnCreateLos archivos que descargué para la instalación de Cuda fueron
Seguí las instrucciones en la página de inicio de Tensorflow con la excepción de usar cuDNN 7.0 en lugar de 6.5. $LD_LIBRARY_PATH es "/usr/local/cuda/lib64"
No tengo ni idea de por qué no se encuentra cudnnCreate. ¿Hay alguien que haya instalado correctamente esta configuración y me pueda dar un consejo?
Recibo el mismo error cuando olvidé configurar las variables de entorno LD_LIBRARY_PATH y CUDA_HOME :
exportar LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64" exportar CUDA_HOME=/usr/local/cuda
Estoy siguiendo estas instrucciones para instalar TensorFlow en archlinux: https://github.com/ddigiorg/AI-TensorFlow/blob/master/install/install-TF_2016-02-27.md
Parece que necesita cuDNN v2 o superior, que puede obtener registrándose en su Programa de desarrollador de computación acelerada, que generalmente demora 2 días: https://developer.nvidia.com/accelerated-computing-developer
ACTUALIZACIÓN : parece que ya tiene cuDNNv2
Ubuntu 14.04 && cudnnV5.0 && Cuda7.5
Recibí algún error y lo resolví de otra manera. Siga la página oficial de inicio, instalo cudnn con estos comandos a continuación, que básicamente es simplemente copiar esos archivos en nuestro directorio cuda
tar xvzf cudnn-7.5-linux-x64-v5.1-ga.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
Pero después de hacer esto, si usamos el comando ll para mostrar todo el archivo en "/usr/local/cuda/lib64" y compararlo con los archivos de origen
todos
parece que esos enlaces blandos se han roto después de la copia. así que los elimino y creo manualmente, así:
sudo rm libcudnn.so.5 libcudnn.so
sudo ln -sf libcudnn.so.5 libcudnn.so
sudo ln -sf libcudnn.so.5.1.3 libcudnn.so.5
después de eso, ejecuta
sudo ldconfig /usr/local/cuda/lib64
¡y finalmente funcionó!