Keras

De Wikipedia, la enciclopedia libre
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 y 18 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

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]

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]

Características[editar]

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]

Tendencia[editar]

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]

Keras Frente a Otro Software de Deep Learning[editar]

Referencias[editar]

  1. «Keras backends». keras.io. Consultado el 23 de febrero de 2018. 
  2. «Keras Documentation». keras.io. Consultado el 18 de septiembre de 2016. 
  3. «Module: tf.keras | TensorFlow». TensorFlow (en inglés). Consultado el 14 de noviembre de 2018. 
  4. Chollet GitHub Comment
  5. CNTK Keras GitHub Issue
  6. alexeyo. «CNTK_2_0_Release_Notes». docs.microsoft.com (en inglés estadounidense). Consultado el 14 de junio de 2017. 
  7. a b «Why use Keras?». keras.io. Consultado el 23 de febrero de 2018. 
  8. «Using TPUs | TensorFlow». TensorFlow (en inglés). Archivado desde el original el 4 de junio de 2019. Consultado el 14 de noviembre de 2018. 
  9. «Ejecución eager con Keras y TensorFlow | Modelizame». modeliza.me. Consultado el 17 de marzo de 2020. 
  10. «Eager execution | TensorFlow Core». TensorFlow (en inglés). Consultado el 17 de marzo de 2020. 
  11. Piatetsky, Gregory. «Python eats away at R: Top Software for Analytics, Data Science, Machine Learning in 2018: Trends and Analysis». KDnuggets. KDnuggets. Consultado el 30 de mayo de 2018. 

Enlaces externos[editar]