Glosario

Keras

Descubre Keras, una API Python fácil de usar que simplifica el aprendizaje automático con modularidad, flexibilidad y compatibilidad con múltiples backend.

Entrena los modelos YOLO simplemente
con Ultralytics HUB

Saber más

Keras es una Interfaz de Programación de Aplicaciones (API) de alto nivel para redes neuronales (NN), escrita en el popular Python popular. Diseñada centrándose en la experiencia del usuario, su objetivo es permitir una experimentación rápida y reducir la carga cognitiva asociada a la construcción de modelos complejos de aprendizaje profundo (AD). Keras actúa como una interfaz fácil de usar para varios marcos de DL subyacentes, permitiendo a los desarrolladores e investigadores construir y entrenar modelos utilizando una sintaxis simplificada y coherente. Esto hace que el aprendizaje automático (AM) avanzado sea más accesible, promoviendo un desarrollo y una iteración rápidos.

Características principales de Keras

Keras es ampliamente adoptado debido a varias características básicas que simplifican el proceso de desarrollo:

  • Facilidad de uso: Diseñado para seres humanos, no para máquinas. Keras ofrece API sencillas y coherentes, y proporciona información clara en caso de error del usuario. Esto acelera significativamente la curva de aprendizaje para los principiantes.
  • Modularidad y componibilidad: Los modelos Keras se construyen conectando bloques de construcción configurables (como capas, optimizadores, funciones de activación) con restricciones mínimas. Este concepto de modularidad facilita la creación y reutilización de componentes.
  • Fácil extensibilidad: Se pueden añadir fácilmente nuevos bloques de construcción como capas, funciones de pérdida y métricas, lo que lo hace flexible para la investigación y el desarrollo. Esto permite poner en práctica ideas novedosas sin profundizar en las complejidades del marco backend.
  • Soporte Multi-Backend: Keras puede ejecutarse sobre diferentes marcos de DL, incluyendo TensorFlow, PyTorchy JAX. Esto permite a los usuarios cambiar de backends sin cambiar su código principal de Keras, ofreciendo flexibilidad en el despliegue y en los entornos de cálculo (como CPU o GPU).

Keras frente a otros marcos

Keras opera a un nivel superior de abstracción en comparación con marcos como la API central TensorFlow o PyTorch. Mientras que estos marcos de nivel inferior proporcionan un control más granular sobre la arquitectura del modelo y los bucles de entrenamiento, Keras prioriza la facilidad de uso y la velocidad de desarrollo. Esto hace que Keras sea especialmente adecuado para la creación rápida de prototipos, la enseñanza y la aplicación de arquitecturas de modelos estándar.

En cambio, marcos como Ultralytics YOLO suelen estar creados específicamente y altamente optimizados para tareas concretas de visión por ordenador (VC ), como la detección de objetos, la segmentación de imágenes y la estimación de poses. Estos marcos especializados pretenden ofrecer un rendimiento de vanguardia dentro de sus dominios, mientras que Keras proporciona un conjunto de herramientas de uso más general para construir una mayor variedad de tipos de redes neuronales. Comparar diferentes modelos, como YOLOv8 frente a YOLOv10, a menudo implica evaluar métricas de rendimiento específicas de cada tarea.

Aplicaciones en el mundo real

Keras es versátil y encuentra aplicaciones en numerosos dominios. Su facilidad de implementación lo convierte en una elección popular tanto para proyectos industriales como para la investigación académica. He aquí un par de ejemplos concretos:

Otras aplicaciones habituales son crear sistemas de recomendación, realizar análisis de series temporales y experimentar con técnicas de modelado generativo como las Redes Generativas Adversariales (GAN).

Keras y Ultralytics

Mientras que Ultralytics proporciona modelos altamente optimizados y de última generación como Ultralytics YOLOv8 y una plataforma integrada, Ultralytics HUB, para agilizar la formación y el despliegue de modelos, la familiaridad con Keras sigue siendo valiosa para cualquier profesional del ML. Keras ofrece una comprensión fundamental de la construcción de diversas redes neuronales desde cero, complementando los modelos especializados de alto rendimiento que proporciona Ultralytics. Tanto Keras como Ultralytics contribuyen significativamente a hacer más accesible la Inteligencia Artificial (IA), aunque a través de enfoques diferentes: Keras a través de su API de propósito general y fácil de usar, y Ultralytics a través de su enfoque en modelos y herramientas de visión eficientes y de vanguardia. Los modelos construidos con Keras a menudo pueden exportarse a formatos estándar como ONNX (Open Neural Network Exchange), lo que permite la interoperabilidad y el despliegue en diversas plataformas, de forma similar a las opciones de despliegue de modelos disponibles para los modelos de Ultralytics . Entender Keras también puede proporcionar contexto para apreciar las opciones de diseño en bibliotecas más especializadas.

En resumen, Keras destaca como una potente biblioteca centrada en el usuario que simplifica significativamente el desarrollo y la iteración de modelos de aprendizaje profundo. Su énfasis en la facilidad de uso, la flexibilidad y la compatibilidad con múltiples backend la convierten en una herramienta fundamental en el ecosistema de IA y ML, beneficiosa tanto para los principiantes que aprenden los fundamentos como para los expertos que llevan a cabo una rápida experimentación. Para obtener guías detalladas, tutoriales y referencias de la API, visita la documentación oficial de Keras en el sitio web de Keras.

Leer todo