Keras 3.0 Todo lo que necesitas saber

Keras 3.0 Todo lo esencial

 

Antes de sumergirnos en los detalles de este emocionante desarrollo, exploraremos un escenario para entenderlo mejor. Imagínate como un científico de datos senior liderando un sofisticado proyecto de clasificación de imágenes. Tu modelo basado en TensorFlow está funcionando de manera sorprendente. Sin embargo, a medida que agregas más funcionalidades, notas que algunos miembros del equipo prefieren JAX por su escalabilidad, mientras que otros prefieren PyTorch por su facilidad de uso. Como líder de equipo, ¿cómo puedes garantizar una colaboración fluida al tiempo que mantienes la eficiencia del modelo en varios frameworks de aprendizaje profundo?

Reconociendo este desafío, el equipo de Keras presenta Keras Core, una implementación innovadora de múltiples backends de la API de Keras con soporte para TensorFlow, JAX y PyTorch. Esta biblioteca evolucionará hacia Keras 3.0 para el otoño de 2023. Pero antes de saltar directamente a Keras 3.0, echaremos un breve vistazo a la historia de Keras.

 

Una breve historia de Keras y el camino hacia el 3.0

 

En 2015, François Chollet presentó Keras, una biblioteca de aprendizaje profundo de código abierto escrita en Python. Esta API simple pero poderosa rápidamente ganó popularidad entre investigadores, estudiantes y profesionales al simplificar la construcción de redes neuronales complejas. Con el tiempo, Keras recibió mejoras significativas, lo que lo hizo aún más atractivo para la comunidad de aprendizaje profundo. Eventualmente, Keras se convirtió en una parte integral de TensorFlow, el avanzado framework de aprendizaje profundo de Google. Al mismo tiempo, el laboratorio de investigación de inteligencia artificial de Facebook desarrolló PyTorch, conocido por su modelado intuitivo y flexible. Al mismo tiempo, JAX surgió como otro framework potente para la investigación en aprendizaje automático de alto rendimiento. A medida que estos frameworks ganaron impulso, los desarrolladores comenzaron a experimentar el dilema de elegir entre ellos, lo que llevó a una mayor fragmentación en la comunidad de aprendizaje profundo.

Reconociendo los desafíos planteados por los frameworks fragmentados, los desarrolladores de Keras decidieron revolucionar nuevamente la biblioteca, dando lugar a Keras 3.0.

 

Características destacadas de Keras 3.0

 

Keras 3.0 te permite colaborar eficazmente con tu equipo. Puedes desarrollar modelos sofisticados con una interfaz unificada combinando las fortalezas de TensorFlow, JAX y PyTorch. Aquí tienes algunas de las características por las que Keras 3.0 es un cambio radical:

 

1. Soporte de múltiples backends

 

Keras 3.0 actúa como un superconector, permitiendo el uso conjunto sin problemas de TensorFlow, JAX y PyTorch. Los desarrolladores tienen la libertad de combinar la mejor herramienta para sus tareas específicas sin cambiar el código.

 

2. Optimización del rendimiento

 

La optimización del rendimiento es la característica clave de Keras 3.0. Por defecto, Keras 3.0 aprovecha la compilación XLA (álgebra lineal acelerada). La compilación XLA optimiza tus cálculos matemáticos haciéndolos mucho más rápidos en hardware como GPU y TPU. También te permite seleccionar dinámicamente el mejor backend para tu modelo de IA, asegurando una eficiencia óptima. Estas características de optimización del rendimiento son muy importantes, ya que te permiten entrenar más modelos, experimentar más y obtener resultados mucho más rápidos.

 

3. Superficie de ecosistema ampliada

 

Tus modelos de Keras se pueden utilizar como módulos de PyTorch, TensorFlow SavedModels o parte de la infraestructura de entrenamiento a gran escala de JAX. Esto significa que puedes aprovechar las fortalezas de cada framework. Por lo tanto, con el ecosistema ampliado de Keras 3.0 no estás limitado a un solo ecosistema. Es como un adaptador universal que te permite conectar tu dispositivo favorito a cualquier máquina.

 

4. Lenguaje de bajo nivel entre frameworks

 

La introducción del espacio de nombres keras_core.ops es una característica innovadora que te permite escribir operaciones personalizadas una vez y usarlas en diferentes frameworks de aprendizaje profundo sin esfuerzo. Las keras_core.ops proporcionan un conjunto de herramientas y funciones que se asemejan a la popular API de NumPy, una biblioteca ampliamente utilizada para cálculos numéricos en Python. Este nivel de compatibilidad entre frameworks fomenta la reutilización de código y fomenta la colaboración.

 

5. Revelación progresiva de la complejidad

 

Este enfoque de diseño de Keras 3.0 lo diferencia de otros frameworks de aprendizaje profundo. Imagina que eres un principiante y quieres construir una red neuronal simple usando Keras 3.0. Te presenta los flujos de trabajo más sencillos al principio. Una vez que te sientas cómodo con lo básico, puedes acceder a todas las características avanzadas y las funcionalidades de bajo nivel. No te restringe a flujos de trabajo predefinidos solamente. La belleza de este enfoque radica en su adaptabilidad y es acogedor tanto para principiantes como para practicantes experimentados del aprendizaje profundo. 

 

6. API sin estado para capas, modelos, métricas y optimizadores

 

En el contexto del aprendizaje profundo, el estado se refiere a las variables internas y los parámetros que cambian durante el proceso de entrenamiento. Sin embargo, JAX opera según el principio de la ausencia de estado, lo que significa que las funciones no tienen variables mutables ni estados internos. Keras 3.0 adopta la ausencia de estado de JAX a través de una API sin estado. Permite diseñar los componentes esenciales del aprendizaje profundo, es decir, capas, modelos, métricas y optimizadores, de manera sin estado. Esta compatibilidad única hace de Keras 3.0 una herramienta indispensable en el desarrollo moderno de IA.

 

Comenzando con Keras 3.0

 

Keras Core es compatible con sistemas Linux y MacOS. Configurar Keras 3.0 es un proceso sencillo. Aquí tienes una guía paso a paso que puedes seguir:

 

1. Clonar y navegar al repositorio

 

Clona el repositorio en tu sistema local usando el siguiente comando

git clone https://github.com/keras-team/keras-core.git

 

Cambia tu directorio raíz al clon de keras-core usando:

cd keras-core

 

2. Instalar dependencias

 

Abre tu terminal y ejecuta el siguiente comando para instalar las dependencias requeridas.

pip install -r requirements.txt

 

4. Ejecutar el comando de instalación

 

Ejecuta el siguiente script para manejar el proceso de instalación:

python pip_build.py --install

 

5. Configurar el backend

 

Por defecto, Keras Core requiere estrictamente TensorFlow como el framework de backend, pero puedes configurarlo de las siguientes dos formas:

Opción 01: Puedes establecer la variable de entorno KERAS_BACKEND con tu opción de backend preferida.

export KERAS_BACKEND="jax"

 

Opción 02: Puedes editar el archivo de configuración local de Keras ubicado en ~/.keras/keras.json. Abre el archivo en un editor de texto y cambia la opción “backend” por tu backend preferido.

{
    "backend": "jax",
    "floatx": "float32",
    "epsilon": 1e-7,
    "image_data_format": "channels_last"
}

 

6. Verificar la instalación

 

Para asegurarte de que Keras Core está instalado correctamente con tu backend elegido, puedes probarlo importando la biblioteca. Abre un intérprete de Python o un cuaderno Jupyter y ejecuta lo siguiente:

import keras_core as keras

 

Notas finales

 

Aunque Keras 3.0 tiene algunas limitaciones, como su dependencia actual de TensorFlow y el soporte limitado de tf.data con otros backends, el potencial futuro de este framework es prometedor. Keras ha lanzado la versión beta hasta ahora y anima a los desarrolladores a proporcionar sus valiosos comentarios. Si estás interesado en explorar más al respecto, puedes encontrar la documentación de Keras Core (Keras 3.0) aquí. No tengas miedo de probar nuevas ideas. Keras 3.0 es una herramienta poderosa y es un momento emocionante para ser parte de la evolución.     Kanwal Mehreen es una desarrolladora de software aspirante con un gran interés en la ciencia de datos y las aplicaciones de IA en medicina. Kanwal fue seleccionada como la becaria de la Generación Google 2022 para la región de APAC. A Kanwal le encanta compartir conocimientos técnicos escribiendo artículos sobre temas de tendencia, y está apasionada por mejorar la representación de las mujeres en la industria tecnológica.  

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

EU AI Act ¿Un paso prometedor o una apuesta arriesgada para el futuro de la IA?

La Ley de la UE sobre IA es la primera ley de regulación internacional sobre IA. Su objetivo es garantizar el desarro...

Inteligencia Artificial

Genera publicidad creativa utilizando inteligencia artificial generativa implementada en Amazon SageMaker

La publicidad creativa tiene el potencial de ser revolucionada por la IA generativa (GenAI). Ahora puedes crear una a...

Inteligencia Artificial

IA que enseña a otras IA

Los científicos demostraron que los robots pueden ser entrenados para entrenar a otros robots compartiendo sus conoci...

Inteligencia Artificial

La sinfonía creativa de la inteligencia artificial generativa en la composición musical

Introducción La IA generativa es inteligencia artificial que puede producir nuevos datos, como libros de texto, imáge...