Instalando TensorFlow 2.x GPU en Windows 10

David Lopera
6 min readJan 9, 2021

--

Este artículo muestra cómo instalar y configurar TensorFlow 2 en Windows 10 con una tarjeta de video NVIDIA GeForce.

Las características del hardware de mi equipo son:

  • Sistema operativo: Windows 10 Pro — Versión 20H2.
  • Procesador: Intel Core i7–8750H CPU @ 2.20GHz 2.21 GHz.
  • RAM: 32 GB.
  • Disco duro: 256 GB SSD.
  • Tarjeta video: NVIDIA GeForce GTX 1060.

Prerequisitos

  • Anaconda instalado. Para esta guía se tiene instalada la versión Anaconda 4.9.2 + Python 3.8.5.
  • Visual Studio 2019 instalado. Requerido para instalación de CUDA Toolkit.

Verificar compatibilidad de tarjeta de video

Verificar la compatibilidad de la tarjeta de video que se tenga con TensorFlow es de los primeros pasos a realizar. En el caso de esta guía se verificará la compatibilidad para la tarjeta de video NVIDIA GeForce GTX 1060.

a. En el link https://developer.nvidia.com/cuda-gpus se debe buscar la referencia de la tarjeta de video para conocer si es compatible:

b. La tarjeta de video GTX 1060 cuenta con un “Compute Capability” de 6.1. Lo mínimo requerido es 3.5. Se pueden revisar estos requisitos en el siguiente link https://www.tensorflow.org/install/gpu#hardware_requirements.

Verificar los requerimientos de software

a. En la documentación oficial de TensorFlow se pueden validar los requerimientos de software mínimos requeridos:

  • En esta guía se instalarán las siguientes versiones:

— TensorFlow: 2.4.0.

— CUDA Toolkit: 11.0.

— cuDNN: 8.0.4.

Instalar Visual Studio

a. “CUDA Toolkit 11.0” tiene como requisito tener instalado Visual Studio. Si se revisa la documentación de CUDA en https://docs.nvidia.com/cuda/archive/11.0/cuda-installation-guide-microsoft-windows/, el Visual Studio requerido es 2019.

b. Si se hace caso omiso al paso anterior, al momento de estar instalando CUDA se podría visualizar un mensaje como el siguiente:

Actualizar los drivers de la tarjeta de video

a. Instalar/Actualizar drivers de la tarjeta de video:

Opción 1: Utilizando el programa “NVIDIA GeForce Experience”. La versión instalada del driver al momento de crear esta guía es la v460.89:

Opción 2: Buscar el driver en la página Web de NVIDIA https://www.nvidia.com/Download/index.aspx?lang=en-us:

b. Verificar los drivers instalados con el comando nvidia-smi en la consola:

Nota:En caso de no tener acceso al comando nvidia-smi añadir la ruta "C:\Program Files\NVIDIA Corporation\NVSMI" a la variable de entorno path.

Instalar CUDA Toolkit

a. Descargar CUDA v11.0 del sitio de NVIDIA https://developer.nvidia.com/cuda-11.0-download-archive:

b. Elegir el instalador base de CUDA e iniciar la instalación:

  • Elegir la opción de instalación Custom:
  • Solo instalar los componentes de CUDA. NO instalar los componentes “NVIDIA GeForce Experience”, “Driver Components” y “Other Components” siempre y cuando las versiones instaladas en el sistema sean mayores que las que se sugiere el instalador:
  • Si todo ha salido correctamente con la instalación, se debe visualizar la siguiente ventana:
  • Ir a la ruta donde quedó instalado CUDA (C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0). Esta ruta es importante para pasos posteriores, ya que se debe adicionar a las variables de entorno de Windows.

c. Para verificar la instalación de CUDA se puede ejecutar el siguiente comando nvcc --version:

Instalar cuDNN

a. Con base a los requisitos mencionados anteriormente, la versión a instalar de cuDNN es la 8.0.4.

b. Descargar cuDNN desde https://developer.nvidia.com/rdp/cudnn-archive. Requiere Inicio de sesión o Registro (Gratis) para poder obtener los instaladores.

c. Se descarga paquete cuDDN Library for Windows 10 como se visualiza en la siguiente imagen:

d. En el paso anterior se descarga un archivo “cudnn-11.0-windows-x64-v8.0.4.30.zip” y se procede a descomprimir el archivo.

e. Siguiendo el “Paso 3” de la documentación oficial de NVIDIA en el link https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html#installwindows, se realiza lo siguiente:

  • Se copia el archivo “\cudnn-11.0-windows-x64-v8.0.4.30\cuda\bin\cudnn64_8.dll” en la ruta “C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\bin”.
  • Se copia el archivo “\cudnn-11.0-windows-x64-v8.0.4.30\cuda\include\cudnn.h” en la ruta “C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\include”.
  • Se copia el archivo “\cudnn-11.0-windows-x64-v8.0.4.30\cuda\lib\x64\cudnn.lib” en la ruta “C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\lib\x64”.

f. Adicionar/Verificar en la variable de entorno PATH las carpetas “C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\bin” y “C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\libnvvp”:

Crear el “conda environment”

a. Para crear el environment donde se va a usar TensorFlow se debe tener en cuenta que las versiones de Python soportadas son 3.6–3.8, tal y como se ve en la siguiente tabla:

b. Abrir la consola de comandos o Anaconda Prompt para crear un nuevo ambiente indicando la versión de Python 3.8. Para efectos de esta guía se crea un environment llamado tensorflow:

  • conda create --name tensorflow python=3.8

c. Verificar los “environments” creados en Anaconda con el comando conda env list:

d. Activar el environment con el comando conda activate tensorflow.

Instalar TensorFlow con soporte GPU

a. Escribir el comando pip install tensorflow-gpu==2.4.0 en "Anaconda Prompt" dentro del environment creado:

b. Al terminar el punto anterior, se procede a probar la instalación de TensorFlow por medio de los siguientes comandos en la consola:

% python
>>> import tensorflow as tf
>>> tf.test.is_gpu_available()

Referencias

Espero este artículo haya sido de gran ayuda. Gracias por leerlo!

Artículo en blog personal: https://dloperab.github.io/blog/markdown/2020/05/19/weekly-mendations-025.html

“Thank you, namaste, and good luck”

--

--