Keras
# Keras

Keras es una biblioteca de Redes Neuronales de Código Abierto escrita en Python. Es capaz de ejecutarse sobre TensorFlow, Microsoft Cognitive Toolkit o Theano.

Está especialmente diseñada para posibilitar la experimentación en más o menos poco tiempo con redes de Aprendizaje Profundo. Sus fuertes se centran en ser amigable para el usuario, modular y extensible.

Inicialmente fue desarrollada como parte de los esfuerzos de investigación del proyecto ONEIROS (Open-ended Neuro-Electronic Intelligent Robot Operating System)

Su autor principal y mantenedor ha sido el ingeniero de Google François Chollet.

En 2017, el equipo de TensorFlow de Google decidió ofrecer soporte a Keras en la biblioteca de core de TensorFlow

Chollet explica que Keras ha sido concebido para actuar como una interfaz en lugar de ser una framework de machine learning standalone. Ofrece un conjunto de abstracciones más intuitivas y de alto nivel haciendo más sencillo el desarrollo de modelos de aprendizaje profundo independientemente del backend computacional utilizado.

Microsoft añadió un backend en CNTK a Keras también, disponible desde la CNTK v2.0.

## Características

Keras contiene varias implementaciones de los bloques constructivos de las redes neuronales como por ejemplo los layers, funciones objetivo, funciones de activación, optimizadores matemáticos.

Su código está alojado en GitHub y existen foros y un canal de Slack de soporte.

Además del soporte para las redes neuronales estándar, Keras ofrece soporte para las Redes Neuronales Convolucionales y para las Redes Neuronales Recurrentes.

Keras permite generar modelos de deep learning en teléfonos inteligentes tanto sobre iOS como sobre Android, sobre una Java Virtual Machine o sobre web. También permite el uso de entrenamiento distribuido de modelos de aprendizaje profundo en clusters de Graphics Processing Units (GPU) y Tensor processing units (TPU).

Con la llegada de TensorFlow 2.0, se puede utilizar la API de Keras para definir modelos y ejecutarlos de forma "eager". Con esto se consigue facilitar el desarrollo de modelos, posibilitar la depuración de modelos utilizando herramientas estándar, y simplificar la definición de modelos dinámicos utilizando estructuras de control.

## Tendencia

Keras cuenta con más de 200,000 usuarios hasta noviembre de 2017 . Keras fue la décima herramienta más citada en la encuesta de software KD Nuggets 2018 y registró un uso del 22%.

## Keras Frente a Otro Software de Deep Learning

* Comparison of deep learning software (en inglés).
