Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Volver al glosario de Ultralytics

Keras

Keras es una API de alto nivel de Python para crear y entrenar redes neuronales que, desde Keras 3, ejecuta el mismo código en JAX, TensorFlow o PyTorch.

Keras es una API de alto nivel de Python y código abierto para crear y entrenar redes neuronales. François Chollet la publicó en marzo de 2015 para que los experimentos de aprendizaje profundo fueran rápidos de escribir: un modelo es una pila o un grafo de capas, compile establece el optimizador, la función de pérdida y las métricas, y fit ejecuta el bucle de entrenamiento. Keras se convirtió en la API oficial de alto nivel de TensorFlow, y Keras 3, publicado en noviembre de 2023, ejecuta el mismo código de modelo en JAX, TensorFlow o PyTorch, según cuál se elija al importar Keras. Su código breve y legible hace que sea una opción habitual para la enseñanza, la creación de prototipos y las competiciones de Kaggle, así como para modelos de producción de clasificación de imágenes y procesamiento del lenguaje natural.

Cómo funciona Keras#

Un modelo de Keras se construye a partir de capas como Dense, Conv2D, LSTM y MultiHeadAttention, cada una con sus propios pesos. Keras ofrece tres formas de ensamblarlas: la API Sequential para una pila sencilla, la API funcional para grafos con bifurcaciones, capas compartidas o varias entradas, y la subclasificación de keras.Model para controlar por completo el paso hacia delante. Un modelo compilado se entrena con fit, que gestiona el procesamiento por lotes, la retropropagación, las métricas, los datos de validación y las devoluciones de llamada para guardar puntos de control o detener el entrenamiento antes de tiempo; después, evalúa datos nuevos con evaluate y predict. Este código entrena un pequeño clasificador de dígitos con el conjunto de datos MNIST que se incluye con Keras:

import os

os.environ["KERAS_BACKEND"] = "torch"  # or "jax" or "tensorflow", set before importing Keras

import keras

# MNIST handwritten digits, with pixels scaled to [0, 1]
(x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0

# Define the model as a stack of layers
model = keras.Sequential(
    [
        keras.Input(shape=(28, 28)),
        keras.layers.Flatten(),
        keras.layers.Dense(128, activation="relu"),
        keras.layers.Dense(10, activation="softmax"),
    ]
)

# Configure training, then train and evaluate
model.compile(optimizer="adam", loss="sparse_categorical_crossentropy", metrics=["accuracy"])
model.fit(x_train, y_train, epochs=2, batch_size=64, verbose=0)
loss, accuracy = model.evaluate(x_test, y_test, verbose=0)
print(f"Test accuracy: {accuracy:.3f}")

Tras dos épocas, imprime una precisión de prueba de aproximadamente 0.96, y cambiar "torch" por "jax" o "tensorflow" ejecuta el mismo modelo en otro framework sin modificar ninguna otra línea.

Keras 3 y sus backends#

Keras se ejecutaba originalmente en varios motores, entre ellos Theano, TensorFlow y CNTK. Keras 2.3, publicado en septiembre de 2019, fue su última versión compatible con varios backends; después, el desarrollo pasó a TensorFlow como tf.keras. Keras 3 recuperó la independencia del backend: las capas y los modelos se escriben con keras.ops, un conjunto de operaciones al estilo de NumPy que implementa cada backend, de modo que un modelo guardado en el formato .keras se puede volver a cargar y entrenar en cualquier backend. Con el backend de PyTorch, un modelo de Keras también es un torch.nn.Module que puede utilizar un bucle de entrenamiento personalizado de PyTorch, y desde Keras 3.8, un backend de inferencia OpenVINO ejecuta modelos entrenados en hardware Intel.

Desde TensorFlow 2.16, instalar TensorFlow instala Keras 3, y el código que aún necesita Keras 2 utiliza el paquete independiente tf_keras. Los conversores de modelos también admiten Keras: cuando Ultralytics YOLO exporta YOLO26 a un TensorFlow SavedModel, el conversor onnx2tf reconstruye la red PyTorch a partir de su grafo ONNX como modelo de Keras, capa por capa, antes de guardarlo.

Modelos preentrenados en KerasHub#

KerasHub ofrece implementaciones de arquitecturas populares para Keras 3 con puntos de control preentrenados, como ResNet para imágenes, BERT para texto y los grandes modelos de lenguaje Gemma. Un nombre de preajuste carga un modelo listo para el aprendizaje por transferencia: keras_hub.models.ImageClassifier.from_preset("resnet_50_imagenet") devuelve un clasificador entrenado con ImageNet que el ajuste adapta a un nuevo conjunto de datos con la misma llamada fit que se ha usado arriba. Como el resto de Keras 3, los modelos de KerasHub se ejecutan en cualquiera de los tres backends de entrenamiento.

Keras frente a TensorFlow y PyTorch#

  • TensorFlow: Un framework completo con su propio entorno de ejecución, compilador y herramientas de implementación, como TensorFlow Serving y LiteRT. Keras es la API con la que escriben modelos muchos usuarios de TensorFlow, y TensorFlow es uno de los motores que ejecutan código de Keras.
  • PyTorch: Un framework en el que los usuarios suelen escribir el bucle de entrenamiento por su cuenta o utilizar una biblioteca como PyTorch Lightning. Keras proporciona el bucle mediante fit y puede usar PyTorch como backend, por lo que no son excluyentes.
  • JAX: La biblioteca de Google de transformaciones de funciones componibles para diferenciación, compilación XLA y vectorización. JAX no incluye una API integrada para capas o entrenamiento, y Keras es una de las formas de añadirla.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático