Kit de herramientas cognitivas de Microsoft (CNTK): CPU y GPU

Microsoft Cognitive Toolkit ofrece dos versiones de compilación diferentes, a saber, solo CPU y solo GPU.

CPU solo versión de compilación

La versión de compilación solo para CPU de CNTK usa Intel MKLML optimizado, donde MKLML es el subconjunto de MKL (Math Kernel Library) y se lanzó con Intel MKL-DNN como una versión terminada de Intel MKL para MKL-DNN.

Versión de compilación solo de GPU

Por otro lado, la versión de CNTK compilada solo para GPU utiliza bibliotecas NVIDIA altamente optimizadas, como CUB y cuDNN. Admite capacitación distribuida en múltiples GPU y múltiples máquinas. Para un entrenamiento distribuido aún más rápido en CNTK, la versión de compilación de GPU también incluye:

  • SGD cuantificado de 1 bit desarrollado por MSR.

  • Algoritmos de entrenamiento paralelo SGD de bloque-momento.

Habilitación de GPU con CNTK en Windows

En la sección anterior, vimos cómo instalar la versión básica de CNTK para usar con la CPU. Ahora analicemos cómo podemos instalar CNTK para usar con una GPU. Pero, antes de profundizar en él, primero debe tener una tarjeta gráfica compatible.

En la actualidad, CNTK admite la tarjeta gráfica NVIDIA con al menos soporte CUDA 3.0. Para asegurarse, puede consultar enhttps://developer.nvidia.com/cuda-gpus si su GPU es compatible con CUDA.

Entonces, veamos los pasos para habilitar GPU con CNTK en el sistema operativo Windows:

Step 1 - Dependiendo de la tarjeta gráfica que esté utilizando, primero debe tener los controladores GeForce o Quadro más recientes para su tarjeta gráfica.

Step 2 - Una vez que haya descargado los controladores, debe instalar el kit de herramientas CUDA Versión 9.0 para Windows desde el sitio web de NVIDIA https://developer.nvidia.com/cuda-90-download-archive?target_os=Windows&target_arch=x86_64. Después de la instalación, ejecute el instalador y siga las instrucciones.

Step 3 - A continuación, debe instalar los binarios cuDNN del sitio web de NVIDIA https://developer.nvidia.com/rdp/form/cudnn-download-survey. Con la versión CUDA 9.0, cuDNN 7.4.1 funciona bien. Básicamente, cuDNN es una capa en la parte superior de CUDA, utilizada por CNTK.

Step 4 - Después de descargar los archivos binarios de cuDNN, debe extraer el archivo zip en la carpeta raíz de la instalación de su kit de herramientas CUDA.

Step 5- Este es el último paso que permitirá el uso de GPU dentro de CNTK. Ejecute el siguiente comando dentro del símbolo del sistema Anaconda en el sistema operativo Windows:

pip install cntk-gpu

Habilitación de GPU con CNTK en Linux

Veamos cómo podemos habilitar la GPU con CNTK en el sistema operativo Linux:

Descarga del kit de herramientas CUDA

Primero, debe instalar el kit de herramientas CUDA desde el sitio web de NVIDIA https://developer.nvidia.com/cuda-90-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1604&target_type = runfilelocal .

Ejecutando el instalador

Ahora, una vez que tenga los binarios en el disco, ejecute el instalador abriendo una terminal y ejecutando el siguiente comando y la instrucción en la pantalla:

sh cuda_9.0.176_384.81_linux-run

Modificar la secuencia de comandos del perfil de Bash

Después de instalar el kit de herramientas CUDA en su máquina Linux, debe modificar el script del perfil BASH. Para esto, primero abra el archivo $ HOME / .bashrc en el editor de texto. Ahora, al final del guión, incluya las siguientes líneas:

export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64\
${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
Installing

Instalación de bibliotecas cuDNN

Por fin necesitamos instalar los binarios cuDNN. Se puede descargar del sitio web de NVIDIA.https://developer.nvidia.com/rdp/form/cudnn-download-survey. Con la versión CUDA 9.0, cuDNN 7.4.1 funciona bien. Básicamente, cuDNN es una capa en la parte superior de CUDA, utilizada por CNTK.

Una vez descargada la versión para Linux, extráigala al /usr/local/cuda-9.0 carpeta usando el siguiente comando -

tar xvzf -C /usr/local/cuda-9.0/ cudnn-9.0-linux-x64-v7.4.1.5.tgz

Cambie la ruta al nombre del archivo según sea necesario.