sábado, 2 de noviembre de 2019

Como instalar la red neuronal Microsoft Cognitive Toolkit (CNTK)


Microsoft Cognitive Toolkit, anteriormente conocida como CNTK, es un kit de herramientas de código abierto para el aprendizaje profundo distribuido de grado comercial. CNTK permite al usuario realizar y combinar fácilmente tipos de modelos, como DNN, redes neuronales convolucionales (CNN) y redes neuronales recurrentes (RNN / LSTM). CNTK implementa el descenso de gradiente estocástico (SGD, retro-propagación de error) aprendiendo con diferenciación automática y paralelización en múltiples GPU y servidores.
Permite aprovechar la inteligencia artificial dentro de conjuntos de datos masivos a través del aprendizaje profundo al proporcionar escalas, velocidad y precisión con calidad comercial y compatibilidad con los lenguajes de programación y algoritmos que ya usa. 
Para comenzar he creado una máquina virtual grande  (Hice una prueba con 30 Gb y me quedé sin disco nada más empezar ahora he puesto 90 Gb) y Windows 2008 Server.
La instalación automática me dio este error:

Como instalar la red neuronal  Microsoft Cognitive Toolkit (CNTK)


La pantalla de error se mostraba sólo unas centésimas de segundo por lo que era imposible leer nada, tuve que hacer una captura de pantalla como quien captura un salmón en un rápido y después de muchos intentos lo conseguí.
El error decía que no se encuentra la propiedad ‘Is64BitProccess’ y buscando en la documentación parece ser que hacía referencia a los pre-requisitos así que opté (a la fuerza) por la instalación manual para la cual primero hay que instalar varios requisitos. 

Instalar los pre-requisitos


CNTK en Windows requiere tener instalados los siguientes componentes previamente porque estamos realizando la instalación manualmente:

El paquete redistribuible de Visual C ++ para Visual Studio 2017

Se puede descargar desde la siguiente dirección:


Microsoft MPI Versión 7 (7.0.12437.6)


Se puede descargar desde la siguiente dirección:


Instalar Microsoft Cognitive Toolkit en Python


Para poder utilizar el Microsoft Cognitive Toolkit en Python es necesario tener previamente instalados todos los componentes necesarios. 

Instalar Anaconda3


Para descargar la última versión de Anaconda3 se puede acceder al siguiente link:


La instalación de anaconda es bastante intuitiva.

Para abrir la ejecución de comandos de anaconda


Anaconda Navigator o el Anaconda Prompt que se encuentran disponibles en el menú inicio que crea el instalador de Anaconda3 para poder correr los scripts de Python o comandos de Conda.

Anaconda Prompt

Instalar CNTK en Python


Dependiendo de la versión de Python y la versión de cognitive Toolkit (CPU, GPU, 1bit-SGD) existen diferentes archivos wheel (.whl)  para instalar. En la siguiente página se puede encontrar cuál es el archivo a  instalar de acuerdo al hardware y software que necesitemos:


En mi caso particular descargué para Pyton 3.6 y una sola CPU:

https://cntk.ai/PythonWheel/CPU-Only/cntk-2.5.1-cp36-cp36m-win_amd64.whl

Instalar en un entorno (environment) de Conda


En ocasiones es preferible crear un entorno de Anaconda3 para tener aislado del resto de los entornos. Podemos crear un entorno con el nombre que queramos. Por ejemplo, podemos crear el entorno cntk-py36 e instalar el CNTK sólo dentro de este entorno. 

Anaconda navigator

Una vez creado el entorno debemos abrir la consola de Anaconda3 como se indica en la primera figura de este post y ejecutamos los siguientes comandos para crear el entorno y luego activarlo.

Conda create –name cntk-py36 pyton=3.6 numpy scipy h5py jupyter
Activate cntk-py36
Pip install https://cntk.ai/PythonWheel/CPU-Only/cntk-2.5.1-cp36-cp36m-win_amd64.whl

Instalar Red neuronal CNTK
Verificar que funciona el CNTK en Python
Para verificar que todo está correctamente instalado desde la consola de Anaconda3 podemos ejecutar el siguiente comando que nos debe devolver la versión de CNTK que se encuentra instalado en nuestro entorno de Python:

python -c "import cntk; print(cntk.__version__)"

Instalar Red neuronal Microsoft Cognitive Toolkit




No hay comentarios:

Publicar un comentario