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.[1]
Keras | ||
---|---|---|
Información general | ||
Tipo de programa | Redes Neuronales | |
Autor | François Chollet | |
Desarrollador | Varios | |
Lanzamiento inicial | 27 de marzo de 2015 (9 años, 10 meses y 4 días) | |
Licencia | Licencia MIT | |
Estado actual | Activo | |
Idiomas | inglés | |
Información técnica | ||
Programado en | Python | |
Plataformas admitidas | Cross-Platform | |
Versiones | ||
Última versión estable | 2.2.4 ( 2018-03-10) | |
Enlaces | ||
Sitio web oficial
Repositorio de código
| ||
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)[2]
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[3]
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.[4]
Microsoft añadió un backend en CNTK a Keras también, disponible desde la CNTK v2.0.[5][6]
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.[7] 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).[8]
Con la llegada de TensorFlow 2.0, se puede utilizar la API de Keras para definir modelos y ejecutarlos de forma "eager".[9] 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.[10]
Keras cuenta con más de 200,000 usuarios hasta noviembre de 2017 .[7] Keras fue la décima herramienta más citada en la encuesta de software KD Nuggets 2018 y registró un uso del 22%.[11]