Para TensorFlow me gustaría instalar cuda y CuDNN. ¿Cómo hago eso en Ubuntu 16.04?
Para TensorFlow me gustaría instalar cuda y CuDNN. ¿Cómo hago eso en Ubuntu 16.04?
Respuestas:
Paso 0: Instala cuda desde los repositorios estándar. (Consulte ¿Cómo puedo instalar CUDA en Ubuntu 16.04? )
Paso 1: Registre una cuenta de desarrollador de nvidia y descargue cudnn aquí (aproximadamente 80 MB)
Paso 2: comprueba dónde está tu instalación de cuda. Para la instalación desde el repositorio es /usr/lib/...
y /usr/include
. De lo contrario, será /usr/local/cuda/
o /usr/local/cuda-<version>
. Puedes consultarlo con which nvcc
oldconfig -p | grep cuda
Paso 3: copia los archivos:
Instalación del repositorio:
$ cd folder/extracted/contents
$ sudo cp -P include/cudnn.h /usr/include
$ sudo cp -P lib64/libcudnn* /usr/lib/x86_64-linux-gnu/
$ sudo chmod a+r /usr/lib/x86_64-linux-gnu/libcudnn*
Instalación de archivos de ejecución:
$ cd folder/extracted/contents
$ sudo cp include/cudnn.h /usr/local/cuda/include
$ sudo cp lib64/libcudnn* /usr/local/cuda/lib64
$ sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
-P
retiene los enlaces simbólicos, es decir sudo cp -P lib64/libcudnn* /usr/lib/x86_64-linux-gnu/
, y evita el mensaje:/sbin/ldconfig.real: /usr/lib/x86_64-linux-gnu/libcudnn.so.5 is not a symbolic link
include/cudnn.h
y las bibliotecas en lib64/
que /usr/local/cuda-8.0/include
y /usr/local/cuda-8.0/lib64
(usando CUDA 8.0, Ubuntu 14.04, Tensorflow 0.12.0rc0) - tal vez esto sea útil para alguien.
A partir de 5.1 en adelante, no puede instalar de acuerdo con lo que mencionó @Martin. Descargue libcudnn6_6.0.21-1+cuda8.0_amd64.deb, libcudnn6-dev_6.0.21-1+cuda8.0_amd64.deb, libcudnn6-doc_6.0.21-1+cuda8.0_amd64.deb
del sitio nvidia e instálelo uno por uno de la siguiente manera.
sudo dpkg -i <library_name>.deb
Editar : Primero debe instalar el tiempo de ejecución (libcudnn6_6.0.21-1 + cuda8.0_amd64.deb) porque el desarrollador depende del tiempo de ejecución (Gracias @tinmarino)
/usr/lib/x86_64-linux-gnu/
runtime
decause dev
depende de ello
Descargue e instale el último CUDA de NVidia , o la última versión que se ajuste al software con el que trabajará, si corresponde, en este caso su versión de T-Flow.
Tenga en cuenta que la instalación a través del administrador de paquetes estándar de ubuntu a través de hacer clic probablemente no funcionará correctamente.
En su lugar, probablemente tendrá que seguir estas instrucciones en la terminal para instalar el .deb
paquete. Después de que usted tendrá que añadir algunas líneas a .bashrc
, o siempre que sea apropiado en su caso. Por ejemplo, si está configurando un servidor, probablemente será un lugar diferente, tal vez en algún lugar antes del inicio automático de su aplicación, ya .bashrc
que probablemente no se ejecute en ese caso.
Usé la versión "Biblioteca para Linux", no tuve mucha suerte con los .deb
paquetes.
Puede encontrar dónde se encuentra CUDA a través de
which nvcc
. Por /usr/local/cuda/
lo general , será un enlace simbólico a su versión instalada actualmente.
cuda/lib64/
y cuda/include/
). Usualmente sudo nautilus
y lo hago desde allí visualmente.Avance rápido 2018 y NVIDIA ahora proporciona cuDNN 7.x para descargar. Los pasos de instalación siguen siendo similares a los descritos por @GPrathap. Pero si desea reemplazar la versión anterior de cuDNN por la más nueva, primero debe eliminarla antes de la instalación.
Recordar:
Paso 0. Verifique que ya haya instalado el kit de herramientas CUDA. Continúe con la instalación del kit de herramientas CUDA si no lo ha hecho.
Paso 1. Vaya al portal para desarrolladores de NVIDIA https://developer.nvidia.com/cudnn y descargue cuDNN.
Paso 2. Si ya instaló cuDNN, elimínelo
sudo dpkg -r <old-cudnn-runtime>.deb
sudo dpkg -r <old-cudnn-dev>.deb
Paso 3. Instale la biblioteca cuDNN (runtime, dev, doc) usando dpkg
sudo dpkg -i <new-cudnn-runtime>.deb
sudo dpkg -i <new-cudnn-dev>.deb
sudo ldconfig
Paso 4. Si desea encontrar dónde se instaló la biblioteca, puede actualizar el índice de localización y luego encontrar la ubicación de la biblioteca.
sudo updatedb
locate libcudnn
Si está instalando específicamente cuDNN 7.x contra CUDA toolkit 9.1, este artículo proporciona más detalles que pueden ser de alguna ayuda: http://tech.amikelive.com/node-679/quick-tip-installing-cuda-deep- Neural-network-7-cudnn-7-x-library-for-cuda-toolkit-9-1-on-ubuntu-16-04 /
cuDNN v7 can coexist with previous versions of cuDNN, such as v5 or v6.
Además, puede descargar los paquetes deb para distribuciones basadas en Debian.
Desde la página web de NVIDIA, para el perfil de desarrollador, están disponibles los siguientes archivos:
Probé esto, en mi máquina con Debian (Stretch) y TensorFlow está funcionando.
Agregando un detalle importante a las respuestas válidas de @Martin Thoma y @ Íhor Mé: Después de copiar los archivos libcudnn en los directorios de cuda, debe actualizar su archivo .bashrc:
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export CUDA_HOME=/usr/local/cuda
Luego debe agregar el directorio de inclusión a cualquier archivo de configuración que lo use. Caffe, por ejemplo, tiene un archivo de configuración que debe editar antes de compilar con make. Para esto, edite caffe / Makefile.config para agregar las rutas a estas variables de configuración (agregue espacios en blanco entre las rutas):
INCLUDE_DIRS: /usr/local/caffe/cuda/include/
LIBRARY_DIRS: /usr/local/cuda/lib64/
Para cada ventana de terminal actual que desee que estos cambios sean efectivos, ¡no olvide ejecutar el archivo una vez!
. ~/.bashrc
la respuesta es correcta pero para cuDNN 5.1 se han cambiado algunos nombres. Entonces, si usa esta versión después de extraer el archivo cuDNN, encontrará dos carpetas: lib e include. cambie el nombre del archivo * .h en la carpeta de inclusión a cudnn.h y luego siga https://askubuntu.com/a/767270/641589 . ¡Este cambio es necesario si desea utilizar cuDNN para Caffe!
En 16.04 si está instalando CUDA directamente desde el sitio web de Nvidia y también está construyendo Tensorflow desde la fuente, entonces puede especificar específicamente el directorio que desea indicar como Cudnn. Por defecto es:
/usr/include/x86_64-linux-gnu
Cuando esté creando Tensorflow, le preguntará qué versión desea indicar que está utilizando para Cudnn. Luego, después de eso, preguntará dónde está ubicado. Simplemente indique el directorio de arriba y funcionará bien. Debería crear un archivo de rueda en ese punto y puede instalarlo con pip.