sábado, 16 de mayo de 2020

Curso de Keras: Introducción a Keras


Keras es una interfaz de programación de aplicaciones de alto nivel, o API, que se ejecuta sobre un backend de bajo nivel para crear redes neuronales profundas. Está escrito e interactúa con Python y puede utilizar TensorFlow, Microsoft Cognitive Toolkit o Theano. Al  estar escrito en Python permite tener un alto grado de portabilidad en diferentes sistemas operativos, facilidad de uso y facilita la creación de prototipos a través de los muchos módulos disponibles para la manipulación de datos disponibles para Python. Además, Keras puede ejecutarse en una CPU o una GPU (unidad de procesamiento gráfico), para el procesamiento de la carga de trabajo. También tiene soporte incorporado para el paralelismo de datos de múltiples GPU.




Diseñado para la interacción humana, Keras elimina la complejidad de su interfaz. Al utilizar un lenguaje de programación popular, permite que los modelos de redes neuronales sean simples y concisos de leer y manipular, promueve la facilidad de aprendizaje y uso. Los mensajes de error son legibles y permiten una depuración rápida. Al minimizar el número de acciones de usuario requeridas para su uso, se elimina el margen de error humano. Permite que el usuario cambie fácilmente entre cualquiera de los múltiples backends compatibles, Keras puede recibir capacitación en varias plataformas de hardware diferentes para optimizar los recursos disponibles. También incluye soporte incorporado para paralelismo multi-GPU y puede ser entrenado en clústeres distribuidos en la nube. Las redes neuronales en Keras se pueden llevar a producción a través de una gama de plataformas, como iOS, diferentes dispositivos Apple, dispositivos Android, en el navegador, en la nube e incluso en Raspberry Pi.
Los principios  integrados en la arquitectura Keras se basan en:
Facilidad de uso, lo que garantiza que los usuarios puedan obtener el máximo beneficio de la aplicación. 
Modularidad, que abarca una amplia gama de optimizadores, capas, funciones de costo, funciones de activación y esquemas que admite Keras. 
Extensibilidad con nuevos módulos, como nuevas clases y funciones que se pueden agregar. 
Y finalmente, todo está hecho en Python, que es el lenguaje de programación más utilizado para el modelado estadístico. 
Keras trabaja en el concepto de modelo de red neuronal. El tipo más simple de un modelo neuronal es una pila de capas. Se crea una secuencia con capas agregadas en el orden del cálculo a realizar. Una vez que se ha definido el modelo, se compila, y utiliza un marco para optimizar el cálculo a realizar y permite que se especifiquen ciertas configuraciones, como el optimizador o las funciones de pérdida. Una vez compilado, el modelo debe entrenarse con datos. Cuando se completa el entrenamiento, el modelo puede utilizarse para hacer predicciones sobre nuevos datos. 
Estos pasos se pueden resumir en cinco: definir el modelo, lo que significa crear el esqueleto de lo que es el modelo. Compilar el modelo, que es juntar los huesos en una estructura esquelética. Entrenarlo con datos, evaluarlo y verificar su velocidad, coherencia y precisión. Finalmente, hacer predicciones de salida con datos nuevos.

Instalación de Anaconda y CNTK

Keras en sí, no es el producto completo requerido para crear una red neuronal artificial.  Keras proporciona los bloques de construcción de alto nivel para desarrollar la red. Las operaciones de bajo nivel son manejadas por un sistema de fondo. Por lo tanto, Keras se basa en modularidad, lo que permite la implementación de múltiples backends, conectándose sin problemas con los cambios básicos de configuración. Por lo tanto, algunos de los juegos de herramientas más potentes serían Microsoft Cognitive Toolkit  CNTK, que es un marco de manipulación de tensores de código abierto utilizado para el aprendizaje profundo distribuido. Mapea las redes neuronales como una serie de pasos calculados a través de un gráfico dirigido. Podemos utilizar una CPU, GPU o varias máquinas distribuidas para tener la potencia adecuada de procesamiento. CNTK está listo para producción y se usa en muchas implementaciones, como el motor de búsqueda Bing y el traductor de Skype. Cortana también lo utiliza para el reconocimiento de patrones de voz y habla. 
Vamos a instalar la infraestructura, lo primero que vamos a instalar es Python. La forma más fácil de instalar Python y CNTK es descargar Anaconda,  seleccionamos  e instalamos la última versión.
Instalamos Python. Aparece una ventana emergente con el asistente de instalación. Hacemos click en el botón Acepto para el Acuerdo de licencia. 

Instalación de Anaconda y Python


Seguimos adelante.

A continuación, vamos al sitio web de Microsoft  para Python 2.6 no significa que tengamos que obtener esa versión, es solo eso un enlace que nos llevará a esta página.

Instalación CNTK de Microsoft


Hay algunas opciones de instalación diferentes, pero como es la primera vez que instalamos en esta máquina, utilizamos la opción wheel. Hecho esto, nos desplazamos hacia abajo y buscamos la versión más cercana para nuestra versión de Python, el CNTK requiere Python 3.6, pero Anaconda viene empaquetado con 3.6 Así que crearemos nuevo entorno para Python 3.6, por ahora, vamos a copiar este enlace en el portapapeles para instalar la versión de solo una CPU.

Instalación CNTK de Microsoft

Para hacer eso, iniciamos una ventana de símbolo del sistema y ejecutamos este comando.

instalación cntk

Como en nuestro caso hemos instalado Anaconda 3 en C: \ Users\Administrador\anaconda3 ahora disponemos del comando llamado conda, para ejecutar un script. Nos movemos a este  directorio, para ejecutar el comando:

C:\Users\Administrador\Anaconda3\Scripts>conda create --name cntk -py36 python -3.6 anaconda numpy scipy h5py jupyter

El comando es conda create más un parámetro para el nombre. Estamos instalando  CNTK en python versión 3.6, y luego el resto son parámetros. Por supuesto, existen  diferentes opciones de parámetros. Esto instalará un entorno de Python versión 3.6

Ejecutamos el comando, aunque a veces puede fallar o tener problemas de firewall. Entonces solo necesitamos comprender el error y volver a intentarlo. (Aquí una descripción más detallada 

Como alternativa también, podemos utilizar el símbolo de Anaconda, así que una vez que la instalación se haya completado, vamos al Menú de Inicio, y escribimos Anaconda, donde podemos ejecutar el mismo comando aquí también. 


Prompt de Anaconda

Por lo tanto, una vez que el comando se ejecute correctamente, veremos la instalación  completada, y el entorno de resolución finalizado. Pregunta si queremos continuar, Proceed: ponemos Y (yes)  y los paquetes comenzarán a extraerse.  Una vez que todos los paquetes están instalados, podemos activar el entorno con  conda activate cntk-py36.

Ahora, nos queda paso final, y es instalar la URL desde el wheel que vimos al principio del video, y la copiamos en el portapapeles. solo tenemos que pegar la URL copiada con  pip install delante. 
pip install https://cntk.ai/PythonWheel/CPU-Only/cntk-2.7.post1-cp36-cp36m-win_amd64.whl


Instalación CNTK de Microsoft

Así que hemos terminado la instalación de Anaconda para crear entornos para Python y todas sus bibliotecas, Y hemos creado un nuevo entorno de Microsoft Cognitive Toolkit.

No hay comentarios:

Publicar un comentario