Cómo configurar las versiones de CPU y GPU de la biblioteca tensorflow en Linux Ubuntu

  Este artículo describe cómo configurar una nueva versión de la biblioteca de aprendizaje profundo de Python que se puede ejecutar en CPU o GPU en la versión de distribución del sistema operativo Linux Ubuntu .tensorflow

  En el artículo Anaconda, el método de configuración de la nueva versión de la biblioteca tensorflow de Python (común para CPU y GPU) (https://blog.csdn.net/zhebushibiaoshifu/article/details/129285815) y el método de configuración de la nueva versión de la biblioteca tensorflow acelerada por GPU (https: //blog.csdn.net/zhebushibiaoshifu/article/details/129291170), hemos introducido el método de configuración de las versiones de CPU y GPU de la biblioteca bajo la plataforma Windows ; en En este artículo, presentaremos el método en el entorno Linux Ubuntu , el método de configuración de las bibliotecas de versiones de CPU y GPU .tensorflowtensorflow

  Este artículo está dividido en dos partes, la primera 1parte es el método de configuración de la versión de CPU de tensorflowla biblioteca, y la segunda 2parte es el método de configuración de la versión de GPU de tensorflowla biblioteca; si su computadora tiene una GPU , salte la primera parte directamente y comienza 1desde la primera parte de este artículo 2Debe quedar claro que la versión de Python3.10 en este artículo es una versión relativamente nueva, pero si tiene otras versiones de Python , no hay problema y la idea de configuración general es la misma.

1 versión de CPU

  Primero, presentemos el método de configuración de la versión de CPUtensorflow de la biblioteca.

  Se puede decir que configurar la versión de CPU de tensorflowla biblioteca es muy simple. En primer lugar, se recomienda seguir el contenido mencionado en el artículo Linux Ubuntu Configuration Anaconda and Python (https://blog.csdn.net/zhebuhibiaoshifu/article/details/130807267), primero configurar el entorno Anaconda; en segundo lugar, si necesita configurar la biblioteca en el entorno virtual , puede crear un entorno virtual usted mismo e iniciar las operaciones de seguimiento; lo configuraré tensorflowdirectamente en el entorno predeterminado, que es el entorno. baseCon respecto a la creación de un entorno virtual por parte de Anaconda , puede consultar el artículo Creación, uso y eliminación de un entorno virtual de Python en Anaconda (https://blog.csdn.net/zhebushibiaoshifu/article/details/128334614), así que gané No entraré en detalles aquí.

Podemos ver el entorno en el entorno actual de Anaconda   ingresando el siguiente código en la terminal .

conda info -e

  Ejecute el código anterior, obtendrá la situación como se muestra en la figura a continuación. Entre ellos, puede ver que debido a que no he creado un entorno virtual aquí, solo hay un baseentorno.

  Luego, ingresamos el siguiente código en la terminal para instalar tensorflowla librería.

conda install tensorflow

Al ejecutar el código anterior, automáticamente comenzaremos a instalar la última versión de la biblioteca compatible con   el entorno actual (es decir, la versión de Pythontensorflow ) ; como se muestra en la figura a continuación.

  Una vez completada la instalación, aparecerá la interfaz que se muestra en la siguiente figura.

  Hasta ahora, hemos completado la configuración de la versión de CPUtensorflow de la biblioteca. Seguimos el método mencionado en la nueva versión del método de configuración de la biblioteca tensorflow acelerada por GPU (https://blog.csdn.net/zhebushibiaoshifu/article/details/129291170), ingresamos el siguiente código en Pythontensorflow y verificamos si el actual La biblioteca es compatible con la computación GPU .

import tensorflow as tf
print(tf.config.list_physical_devices("GPU"))

  Ejecute el código anterior, si obtiene una lista vacía como se muestra en la figura a continuación [], significa que la tensorflowbiblioteca actual no es compatible con la computación de GPU ; por supuesto, esto es afirmativo, lo que configuramos aquí es la versión de CPU de tensorflowla biblioteca, naturalmente no se puede calcular en la GPU

  En este punto, tensorflowla biblioteca también se puede usar normalmente, pero solo puede admitir operaciones de CPU . Es necesario mencionar aquí que, de hecho, la biblioteca que configuramos a través del método mencionado anteriormente también es compatible con el cómputo GPUtensorflow en principio , ya que en el sistema operativo Linux , a partir de la versión de la biblioteca , ya no hay una distinción entre la CPU y Versiones de GPU , siempre y cuando Después de descargar la biblioteca, sea compatible tanto con la CPU como con la GPU ; la razón por la cual la biblioteca que hemos configurado hasta ahora no puede ejecutarse en la GPU es porque no hemos configurado otras dependencias requeridas para la computación de GPU (o hay no hay GPU en la computadora en absoluto ).tensorflow1.15tensorflowtensorflow

Versión de 2 GPU

  A continuación, presentemos el método de configuración de la versión GPUtensorflow de la biblioteca.

2.1 Configuración del controlador NVIDIA

  Primero, necesitamos configurar el controlador NVIDIA . Los controladores NVIDIA son software para tarjetas gráficas NVIDIA que controlan las funciones y el rendimiento de las tarjetas gráficas NVIDIA y se aseguran de que funcionen correctamente con el sistema operativo y otro software.

  Primero, podemos ingresar el siguiente código en la terminal.

nvidia-smi

  Entonces, en circunstancias normales, debería aparecer la situación que se muestra en la siguiente figura. Si tiene otras situaciones en este momento, significa que no hay un controlador NVIDIA instalado o que el controlador NVIDIA está instalado pero hay un problema con la versión de este controlador. Podemos ignorarlo aquí, y todos pueden continuar leyendo.

  A continuación, comenzamos a instalar el controlador NVIDIA . Entre ellos, aquí hay 3tres métodos diferentes, pero se recomienda que use el último.

2.1.1 Método 1 (no recomendado)

  En el primer 1método, podemos ingresar directamente el siguiente código en la terminal.

sudo ubuntu-drivers autoinstall

  En circunstancias normales, este código descargará o actualizará automáticamente el controlador en nuestra computadora, y el controlador NVIDIA también se descargará o actualizará junto con él. Sin embargo, después de probar este método, descubrí que no funcionaba, por lo tanto, este método debe estar relacionado con el estado de su computadora y puede que no sea 100% exitoso, por lo que no es recomendable.

2.1.2 Método 2 (no recomendado)

  El primer 2método es descargar directamente desde el sitio web oficial del controlador de NVIDIA , pero este método es más problemático, por lo que no lo recomiendo aquí.

  Primero, ingresamos al sitio web oficial del controlador NVIDIA (https://www.nvidia.cn/Download/index.aspx?lang=cn), y en la interfaz como se muestra en la siguiente figura, según el modelo del tarjeta gráfica en su computadora, sistema informático, etc. para ser seleccionado.

  Luego, haga clic en la opción " Buscar ", aparecerá el controlador NVIDIA más adecuado y haga clic en " Descargar ".

  Luego, en la terminal, puede instalar el controlador NVIDIA que acaba de descargar.

2.1.3 Método 3 (recomendado)

  El primer 3método es el método más recomendado.

  Primero, ingresas el siguiente código en la terminal.

ubuntu-drivers devices

  Luego, aparecerá la interfaz como se muestra en la figura a continuación; entre ellos, la versión del controlador NVIDIA que aparece es la versión más adecuada en nuestra computadora; debe registrar este número de versión en este momento y deberá usarlo más adelante recommended.

  A continuación, ingresamos el siguiente código en la terminal.

sudo apt install nvidia-driver-525

  Entre ellos, la última parte del código anterior 525es el número de versión registrado en la figura anterior, y puede modificar el código anterior según su situación real. Después de ejecutar el código, aparecerá la situación que se muestra en la siguiente figura, es decir, esta versión del controlador NVIDIA comenzará a descargarse e instalarse.

  Si la descarga e instalación posterior de todos es fluida, entonces todo estará bien durante mucho tiempo, pero a veces aparecerá un mensaje de error como el que se muestra en la siguiente figura.

  En este momento, muestra que el controlador NVIDIA original en nuestra computadora entra en conflicto con la versión recién descargada, lo que hace que la nueva versión no se pueda instalar normalmente. En este punto, necesitamos ingresar los siguientes códigos en secuencia en la terminal, recuerda ingresar una línea a la vez.

sudo apt-get purge nvidia*
sudo apt-get purge libnvidia*
sudo apt-get --purge remove nvidia-*
sudo dpkg --list | grep nvidia-*

  En el código anterior, la primera 3línea significa eliminar el controlador NVIDIA original y su contenido relacionado, y la última oración se usa para detectar si se eliminó el controlador NVIDIA original. Si tiene la situación que se muestra en la figura a continuación, es decir, no aparece ningún mensaje después de ingresar la última oración del código anterior, significa que el controlador NVIDIA original se eliminó.

  En este punto, podemos ejecutar el siguiente código nuevamente.

ubuntu-drivers devices

  Pero en este momento, a diferencia del artículo anterior, es posible que vea que recommendedla versión del controlador de NVIDIA ha cambiado, por ejemplo, aquí ya no soy la versión anterior 525, sino otra versión, pero aquí no nos importa este cambio, después de eso , todavía puede descargar 525la versión.

  A continuación, aún ejecutamos el siguiente código.

sudo apt install nvidia-driver-525

  Entre ellos, la última parte del código anterior 525es el número de versión aquí, aún debe recordar modificarlo. En este punto, podemos descargar e instalar la versión especificada del controlador NVIDIA con normalidad.

  En este punto volvemos a introducir el siguiente código en la terminal.

nvidia-smi

  Entonces, en circunstancias normales, debería aparecer la situación que se muestra en la siguiente figura. Entre ellos, puede prestar atención a la esquina superior derecha de la figura a continuación, lo que significa que la versión de CUDA es la más compatible 12.0, y la versión más nueva no la admitirá. Por supuesto, ¿qué es este CUDA y cómo configurarlo? lo mencionaremos a continuación, aquí hay que prestarle atención primero Solo un clic.

  Otra cosa a tener en cuenta es que si la situación que se muestra en la figura a continuación aparece después de ingresar el código mencionado anteriormente, todavía significa que hay un conflicto entre el controlador NVIDIA original en nuestra computadora y la versión recién descargada, vuelva a ejecutar lo anterior. Simplemente elimine el código de oración del controlador NVIDIA3 original en la computadora .

  Luego, también podemos ingresar el siguiente código.

nvidia-settings

  Si se presenta la situación que se muestra en la siguiente figura, es decir, se abre una nueva ventana denominada “ Configuración del servidor NVIDIA X ”, significa que no hay ningún problema con nuestra configuración antes mencionada.

  Hasta ahora, hemos completado la configuración del controlador NVIDIA .

2.2 Configuración CUDA

  A continuación, configuramos CUDA ; CUDA es una plataforma de cómputo paralelo y un modelo de programación inventado por NVIDIA .

  En primer lugar, debemos ir al sitio web oficialtensorflow de la biblioteca (https://www.tensorflow.org/install/source), desplegar para encontrar la tabla correspondiente de la versión de la biblioteca y la versión CUDA y cuDNN correspondiente como que se muestra en la figura a continuación , y combínelo con nuestra propia versión de Python , elija determinar qué versión de la biblioteca necesita y determine aún más la versión de su CUDA y cuDNN . Entre ellos, como se muestra en el cuadro morado en la figura a continuación, dado que mi versión de Python aquí es sí, solo puedo elegir la versión en el cuadro morado; luego, quiero usar una nueva versión de la biblioteca, así que elijo use las versiones CUDA y cuDNN correspondientes a la primera línea.tensorflowtensorflow3.10tensorflow

  Luego, vamos al sitio web oficial de CUDA (https://developer.nvidia.com/cuda-downloads), primero seguimos el método que se muestra en la figura a continuación y seleccionamos el contenido correspondiente según el modelo de su computadora; entre ellos, presta atención a la última opción para elegir .runfile (local)

Luego, el sitio web mostrará automáticamente la última versión de CUDA   de acuerdo con nuestra selección . Pero debe tenerse en cuenta que la opción que se nos brinda en el sitio web es la última versión predeterminada, y debemos determinar la versión que necesitamos de acuerdo con la versión de la biblioteca mencionada anteriormente tensorflowy la tabla correspondiente de versiones de CUDA y cuDNN . Por ejemplo, como se muestra en el primer cuadro morado de la figura a continuación , la versión de CUDA3 proporcionada en el sitio web es sí, pero la versión que necesito es sí, así que necesito encontrar la versión anterior de CUDA a través del " Archivo de CUDA anterior". Libera la opción " en la figura siguiente .12.1.111.8

  Como se muestra en la figura a continuación, podemos encontrar 11.8la versión de CUDA aquí , simplemente haga clic en ella.

  Luego, aparecerá el método de instalación 11.8de la versión de CUDA , solo ingresamos las dos líneas de código que se muestran en el sitio web en este momento en la terminal.

  Luego, puede comenzar a instalar CUDA . Entre ellos, si está instalando, si aparece el mensaje que se muestra en la figura a continuación, generalmente se debe a la versión anterior de CUDA instalada en la computadora; pero no necesita preocuparse por eso, simplemente seleccione " Continuar " opción.

  Luego, todos deben prestar atención, en la interfaz que se muestra en la figura a continuación, desmarque la cruz frente al controlador para cancelar la instalación del controlador NVIDIA , porque ya hemos instalado este controlador antes. Luego, puede seleccionar " Instalar ".

  A continuación, podemos comenzar a instalar CUDA , y la interfaz que se muestra en la figura a continuación aparecerá una vez que se complete la instalación.

  Hasta ahora, hemos completado la instalación de CUDA , pero necesitamos configurar aún más las variables de entorno correspondientes. Primero, ingrese el siguiente código en la terminal.

vim ~/.bashrc

  Este código significa que abriremos bashrceste archivo y lo editaremos para realizar la configuración de las variables de entorno. Después de ejecutar el código anterior, veremos una interfaz similar a la que se muestra a continuación.

  Luego, presionamos ila tecla para comenzar bashrca editar el archivo. Al ajustar la posición del mouse, bashrcagregue el siguiente contenido al final del archivo.

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export PATH=$PATH:/usr/local/cuda/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda

  En este punto, obtendremos la situación que se muestra en la siguiente figura.

  A continuación, primero presionamos Escla tecla para salir del modo de edición; luego, ingresamos :wq, lo que significa guardar y salir bashrcde este archivo. En este punto, debería aparecer una interfaz como la que se muestra a continuación.

  A continuación, ingresamos las dos líneas de código que se muestran a continuación en la terminal respectivamente.

source ~/.bashrc
nvcc --version

  Entre ellos, la primera oración significa actualizar bashrcel archivo, para que la variable de entorno que acabamos de modificar surta efecto inmediatamente; la segunda oración es el código para verificar la instalación de CUDA . Si la interfaz que se muestra en la figura a continuación aparece después de ejecutar las dos oraciones de código anteriores, significa que nuestra configuración de CUDA y la configuración de variables de entorno se han completado.

  Hasta ahora, hemos completado esta parte del trabajo de configuración.

2.3 configuración cuDNN

  A continuación, comenzamos a configurar cuDNN . cuDNN es una biblioteca de primitivas de redes neuronales profundas aceleradas por GPU que implementan rutinas estándar (como convolución hacia adelante y hacia atrás, capas de agrupación, normalización y capas de activación) de una manera altamente optimizada. Aquí todavía tenemos que mirar la tabla de coincidencias de la versión de la biblioteca mencionada anteriormente tensorflowy la versión correspondiente de CUDA y cuDNN para aclarar qué versión de cuDNN necesitamos descargar .

  Primero, ingresamos al sitio web oficial de cuDNN (https://developer.nvidia.com/rdp/cudnn-download); antes de descargar cuDNN , primero debemos registrarnos, pero el proceso de registro es relativamente rápido y se puede completar en un pocos minutos.

Luego, encontramos la versión correspondiente de cuDNN   en el sitio web . Cabe señalar aquí que si la versión de cuDNN que necesitamos no es la más reciente, entonces debemos encontrar la versión anterior en la opción " Lanzamientos de cuDNN archivados " en la figura a continuación.

8.6Necesito una versión de cuDNN   aquí , así que necesito encontrar el enlace de descarga de esta versión desde la ubicación que se muestra en la imagen de arriba e iniciar la descarga.

  Una vez completada la descarga, primero ingresamos la ruta de descarga a través del siguiente comando en la terminal; por supuesto, si su ruta de descarga es diferente, puede modificar el siguiente código usted mismo.

cd ~/Downloads

  Luego, ingrese el siguiente código; aquí debe prestar atención, esta parte del siguiente código , debe combinar el número de versión específico en el paquete de instalación8.x.x.x obtenido después de la descarga para modificar. La función de esta línea de código es iniciar nuestro repositorio local.

sudo dpkg -i cudnn-local-repo-${OS}-8.x.x.x_1.0-1_amd64.deb

  Ejecute el código anterior, como se muestra en la siguiente figura.

  A continuación, introduzca el código que se muestra a continuación línea por línea. Entre ellos, para esta parte del siguiente código 8.x.x.x, aún debe modificarlo de acuerdo con el número de versión específico en el paquete de instalación obtenido después de la descarga; al mismo tiempo, debemos modificar esta parte de acuerdo con la versión CUDAX.Y seleccionada anteriormente . Por ejemplo, la versión de CUDA que descargué anteriormente era sí, entonces esta es . Las funciones de estas tres líneas de código están en orden: importar la clave GPG de CUDA , actualizar los metadatos del repositorio e instalar la biblioteca de tiempo de ejecución.11.8X.Y11.8

sudo cp /var/cudnn-local-repo-*/cudnn-local-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get install libcudnn8=8.x.x.x-1+cudaX.Y

  Como se muestra en la primera y segunda líneas de código en la figura a continuación, es el contenido específico de la tercera oración de código que ingresé aquí.

  Luego, continuamos ingresando el siguiente código en la terminal, y también recordamos modificar nuestro número de versión. La función de este código es instalar la biblioteca del desarrollador.

sudo apt-get install libcudnn8-dev=8.x.x.x-1+cudaX.Y

  Como se muestra en la figura a continuación, es el contenido específico que ingresé aquí.

  Luego, continuamos ingresando el siguiente código en la terminal, y también recordamos modificar nuestro número de versión. La función de este código es instalar el ejemplo de código.

sudo apt-get install libcudnn8-samples=8.x.x.x-1+cudaX.Y

  Como se muestra en la figura a continuación, es el contenido específico que ingresé aquí.

  Lo anterior es el proceso específico de instalación de cuDNN , a continuación, debemos verificar si está instalado correctamente. Este proceso de verificación es un poco más problemático, pero en realidad es más rápido. Ingresamos el siguiente código línea por línea en la terminal.

cp -r /usr/src/cudnn_samples_v8/ $HOME
cd  $HOME/cudnn_samples_v8/mnistCUDNN
sudo apt-get install libfreeimage3 libfreeimage-dev
make clean && make
./mnistCUDNN

  Si ejecuta el código anterior y obtiene el resultado que se muestra en la figura a continuación, y aparece esta palabra Test passed!, significa que nuestro cuDNN también se ha configurado.

  Hasta ahora, cuDNN se ha configurado correctamente.

2.4 configuración de la biblioteca tensorflow

  A continuación, finalmente llegamos al último paso, que es tensorflowla configuración de la biblioteca.

  Introducimos el siguiente código en la terminal.

pip install tensorflow

  A continuación, aparecerá la situación que se muestra en la siguiente figura. Aquí debe prestar atención, mire las palabras en el cuadro morado en la imagen a continuación, si la biblioteca que comenzamos a descargar en este momento tensorflowes la versión que necesitamos, entonces no hay problema; si es una versión que no puede usar actualmente (es decir, con CUDA , la versión de cuDNN no coincide), luego puede volver a descargar tensorflowla biblioteca especificando la versión.

  Después de completar tensorflowla configuración de la biblioteca, ingresamos el siguiente código en Pythontensorflow para verificar si la biblioteca actual es compatible con la computación GPU .

import tensorflow as tf
print(tf.config.list_physical_devices("GPU"))

  Ejecute el código anterior, si obtiene las palabras que se muestran en el cuadro morado en la figura a continuación, significa que nuestra tensorflowbiblioteca se ha configurado y se pueden usar operaciones aceleradas por GPU .

  Hasta ahora, has terminado.

Bienvenido a prestar atención: Crazy learning GIS

Supongo que te gusta

Origin blog.csdn.net/zhebushibiaoshifu/article/details/130848891
Recomendado
Clasificación