Aumenta la productividad con el ecosistema de Keras

This ad is not shown to multipass and full ticket holders
JSNation US
JSNation US 2025
November 17 - 20, 2025
New York, US & Online
See JS stars in the US biggest planetarium
Learn More
In partnership with Focus Reactive
Upcoming event
JSNation US 2025
JSNation US 2025
November 17 - 20, 2025. New York, US & Online
Learn more
Bookmark
Rate this content

TensorFlow ha construido una sólida base para diversas aplicaciones de aprendizaje automático, sobre la cual el ecosistema de Keras puede realmente aumentar la productividad de los desarrolladores en la construcción de soluciones de aprendizaje automático. Keras tiene una API simple y arbitrariamente flexible para construir y entrenar modelos. Sin embargo, todavía necesitamos mucho trabajo manual para ajustar los hiperparámetros. Afortunadamente, con Keras Tuner, podemos automatizar el proceso de ajuste de hiperparámetros con modificaciones menores en el código para construir y entrenar los modelos. Para aumentar aún más la productividad, presentamos AutoKeras, que automatiza completamente el proceso de construcción de modelos, entrenamiento y ajuste de hiperparámetros. Reduce drásticamente la cantidad de conocimientos previos necesarios para utilizar el aprendizaje automático en algunas tareas comunes. Todo lo que necesitas es definir la tarea y proporcionar los datos de entrenamiento.

This talk has been presented at ML conf EU 2020, check out the latest edition of this Tech Conference.

FAQ

TensorFlow es una plataforma de código abierto para aprendizaje automático que proporciona una base sólida para construir y entrenar modelos de aprendizaje profundo. Keras, por otro lado, es una API de alto nivel que se construye sobre TensorFlow, simplificando muchas de las operaciones complejas y ofreciendo una forma más accesible para implementar soluciones de aprendizaje profundo.

Las características principales de TensorFlow destacadas incluyen manipulación de tensores, diferenciación automática, implementación versátil en diversas plataformas y rendimiento optimizado para operaciones con GPUs y TPUs.

Keras simplifica el proceso de modelado al permitir a los usuarios construir modelos a través de una interfaz de alto nivel, donde se pueden agregar capas secuenciales fácilmente sin tener que manejar las complejidades subyacentes de las operaciones matemáticas y la diferenciación automática.

Keras Tuner es una herramienta dentro del ecosistema de Keras diseñada para la sintonización automática de hiperparámetros. Permite a los usuarios optimizar configuraciones de modelos, como el número de unidades en una capa, mediante algoritmos de búsqueda avanzados para mejorar el rendimiento del modelo.

AutoKeras es una biblioteca de AutoML que simplifica aún más el uso de Keras y TensorFlow, permitiendo a los usuarios construir modelos de aprendizaje profundo con mínimos conocimientos técnicos previos. Está diseñado para reducir la curva de aprendizaje y hacer el aprendizaje automático más accesible para aplicaciones del mundo real.

Un modelo desarrollado con TensorFlow se puede implementar en una variedad de plataformas, incluyendo servidores con TensorFlow Extended, dispositivos de un solo chip como dispositivos Edge con TensorFlow Lite, y en páginas web usando TensorFlow.js.

AutoKeras soporta múltiples tareas como clasificación y regresión de imágenes, clasificación y regresión de datos estructurados, y está en proceso de incluir otras como detección de objetos y pronóstico de series temporales. También permite trabajar con datos de múltiples modelos y tareas simultáneamente.

Haifeng Jin
Haifeng Jin
30 min
02 Jul, 2021

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Esta charla presenta el ecosistema de TensorFlow en Keras y destaca sus características, incluyendo manipulaciones de tensores, diferenciación automática e implementación. También se discute el flujo de trabajo y la automatización de la sintonización de hiperparámetros con Keras Tuner y AutoKeras. La charla enfatiza la simplicidad y productividad de usar AutoKeras, que admite diversas tareas y escenarios avanzados. También menciona los desafíos que enfrentan los principiantes y proporciona recursos para el aprendizaje. Por último, se menciona el uso de TensorFlow y Keras en el ámbito de la investigación y las opciones de personalización en AutoKeras, incluyendo la predicción de series temporales.

1. Introduction to TensorFlow in Keras Ecosystem

Short description:

Hola a todos. Estoy muy feliz de estar aquí en MLConf EU con ustedes y agradezco mucho la invitación. Mi presentación trata sobre aumentar la productividad con el ecosistema de Keras. Vamos a destacar cuatro características de TensorFlow. La primera es para manipulaciones de tensores. La segunda característica es sobre diferenciación automática. Otra característica importante de TensorFlow es sobre implementación. Se puede implementar en cualquier lugar para un modelo implementado con TensorFlow. TensorFlow realmente se trata de rendimiento y escalabilidad. Pero ¿cómo aprovechamos realmente el poder de TensorFlow?

Estoy muy feliz de estar aquí en MLConf EU con ustedes y agradezco mucho la invitación. Y mi presentación trata sobre aumentar la productividad con el ecosistema de Keras.

Entonces hay muchos miembros del ecosistema de Keras y el primero que vamos a presentar es TensorFlow. Creo que muchos de ustedes han oído hablar de él. Es una base muy poderosa para todas las soluciones de aprendizaje profundo construidas sobre ella. Pero hoy, vamos a destacar cuatro características para que vean cómo otros miembros del ecosistema de Keras dependen de estas características para construir algo más.

La primera, todos sabemos que es para manipulaciones de tensores. Como pueden ver, tenemos A y B como matrices de dos por dos aquí, y pueden hacer A más B o C o exponencial de D con ellas. Esto es compatible con TensorFlow, o una fuente de operaciones matemáticas en todos esos tensores. Y la segunda característica que queremos destacar es sobre diferenciación automática. Significa que pueden calcular los gradientes automáticamente sin calcular manualmente ninguna de las derivadas por su cuenta. Nuevamente, tenemos A y B como matrices, dos por dos. Y C está aquí, calculado en realidad a partir de A y B. Obtenemos C. Y ahora queremos calcular el gradiente de C con respecto a A. Y no tienen que hacer ninguna derivada por su cuenta, sino insertando estas líneas. Con gradient tape, watch A, pueden calcular automáticamente C, D, A, solo llamando a tape.gradientCA.

Otra característica importante de TensorFlow que es realmente utilizada por cualquier otra biblioteca en el ecosistema de Keras es sobre implementación. Se puede implementar en cualquier lugar para un modelo implementado con TensorFlow. Por ejemplo, se puede implementar en servidores con TensorFlow Extended. Y se puede implementar en dispositivos de un solo chip como dispositivos Edge con TensorFlow Lite, y también implementar en cualquier página web con tf.js. Y además, TensorFlow realmente se trata de rendimiento y escalabilidad. Se ejecuta en GPUs y TPUs para acelerar todas esas operaciones matemáticas en tensores. También se escala a múltiples servidores con múltiples GPUs y TPUs para hacer que el entrenamiento del modelo sea realmente rápido, y hacer que la predicción del modelo sea realmente rápida, y la implementación del modelo sea realmente rápida. Y eso es sobre TensorFlow. Es una misión muy poderosa para el ecosistema de Keras.

Pero ¿cómo aprovechamos realmente el poder de TensorFlow? Como vimos, la API de TensorFlow es muy de bajo nivel, consiste en muchas operaciones matemáticas. Realmente no quieres implementar muchas soluciones de aprendizaje profundo con todas esas operaciones matemáticas, porque cada solución de aprendizaje profundo puede involucrar cientos de esas operaciones matemáticas. No quieres escribir cada una de ellas en tu código por tu cuenta.

2. Keras: API de alto nivel para TensorFlow

Short description:

Keras se construye sobre TensorFlow y proporciona API de alto nivel que simplifican el aprendizaje profundo. Puedes agregar fácilmente capas a un modelo secuencial y especificar el número de neuronas y funciones de activación. Los cálculos de pérdida y los bucles de entrenamiento se manejan automáticamente. Keras admite una amplia gama de tareas, desde el uso estándar hasta técnicas avanzadas como GANs y capas personalizadas. Para escenarios más complejos, puedes escribir métricas y pérdidas personalizadas, o incluso implementar tus propios algoritmos de optimización utilizando la API de bajo nivel de TensorFlow.

Entonces, por eso vamos a pasar al segundo miembro del ecosistema de Keras, un aprendizaje profundo radicalmente productivo. Para este, en realidad se ha construido sobre TensorFlow y envuelve las API de bajo nivel de TensorFlow en las API de alto nivel, que son realmente simples de usar.

Aquí podemos ver un ejemplo muy simple de código. Simplemente inicializamos un modelo secuencial, que es un tipo de modelo que vamos a implementar en Keras. Y simplemente puedes seguir agregando esas capas al modelo secuencial. Aquí, agregamos una capa densa con 32 neuronas, o unidades, y una función de activación igual a Relu, y otra capa densa a eso. Entonces tenemos un modelo con dos capas densas.

Es muy simple de implementar y realmente no te importa qué operaciones matemáticas están detrás de esas capas densas, aunque en realidad son multiplicaciones de matrices y sumas, pero realmente no necesitas escribirlas tú mismo. Simplemente usas la capa densa y especificas el número de unidades. Y además, no necesitas calcular la pérdida por tu cuenta. Simplemente la pasas como una cadena, entropía cruzada categórica. No haces ningún cálculo, solo una cadena.

Esta pérdida es en realidad para la tarea de clasificación. Y el modelo compensa, simplemente pasas los datos de entrenamiento. No necesitas escribir ningún bucle por tu cuenta, como iterar 20 épocas. Solo pasas los datos y especificas la época como 20. Y luego comienzas a hacer las predicciones con los datos de prueba. Es realmente simple de aprender.

Pero a pesar de la simplicidad, es capaz de muchas cosas. Es capaz de todo lo que admite la API de bajo nivel de TensorFlow. Y solo necesitas aprender lo que necesitas. No queremos que el usuario aprenda todo de antemano, eso es una curva de aprendizaje bastante grande. Comienzan con un ejemplo simple como el que acabamos de mostrar como uso estándar. Puedes usar la API secuencial, API de función y construir y capas.

Pero si apuntas a algo más, por ejemplo, quieres usar TensorBoard y detención temprana o guardar el modelo en el disco con puntos de control mientras los entrenas, simplemente puedes pasar un montón de funciones de devolución de llamada al modelo. Es realmente simple de hacer. Pero si quieres algo aún más, como el modelo GAN o el aprendizaje del currículo, y luego necesitas escribir algunas capas personalizadas o métricas y pérdidas personalizadas, también es muy fácil de implementar simplemente extendiendo las clases base en Keras.

Pero hay casos de uso aún más difíciles, como aprender a aprender o si quieres implementar un nuevo tipo de algoritmo de optimización, en ese caso, tendrás que escribir tu propio bucle de entrenamiento con las operaciones de cinta de gradiente. Y con eso, obtienes total libertad para usar cualquier cosa admitida por TensorFlow en Keras. Así es la lógica del diseño de la API de Keras.

3. Workflow and Keras Tuner

Short description:

Solo aprendes lo que necesitas. El flujo de trabajo consta de tres pasos y un bucle: entrenar el modelo, evaluar el modelo y realizar cambios en el modelo basados en los resultados de la evaluación. El tedioso trabajo manual de ajuste de hiperparámetros debe automatizarse. Presentamos Keras Tuner, una herramienta automatizada de ajuste de hiperparámetros construida sobre Keras. Es fácil de usar y solo requiere modificaciones menores en el código.

Solo aprendes lo que necesitas. Y después de aprender cómo usar Keras para construir modelos de aprendizaje profundo, veamos un flujo de trabajo típico de un ingeniero de aprendizaje automático. El flujo de trabajo consta de tres pasos y un bucle. El primer paso es entrenar un modelo con model.fit utilizando los datos de entrenamiento. El segundo paso es evaluar el modelo. Simplemente lo evaluamos con datos de validación, como la precisión que puede obtener en nuestras pruebas de clasificación. Luego veremos si la precisión es buena o no.

Si no es buena, probablemente quieras cambiar algo en el modelo. Esos se llaman hiperparámetros. El hiperparámetro puede ser el número de capas o el número de unidades en la capa avanzada o la tasa de aprendizaje. Después de hacer cambios, necesitas construir un modelo nuevamente y entrenarlo nuevamente con los datos de entrenamiento, que se encuentran en el primer paso. Luego pasamos al segundo paso para observar el rendimiento. Así que pasamos por este bucle una y otra vez hasta que alcancemos un nivel de precisión satisfactorio. Por ejemplo, si supera el 90%, consideramos que es lo suficientemente bueno para implementarlo y detenemos el bucle y desplegamos el modelo.

Pero en nuestra opinión, el tedioso trabajo manual debe automatizarse. Todos somos desarrolladores y desarrollamos soluciones para automatizar todo lo que podemos para ahorrar tiempo. Por eso desarrollamos Keras Tuner, el tercer miembro del ecosistema de Keras. Es una herramienta automatizada de ajuste de hiperparámetros. Es muy fácil de usar. Está construida sobre Keras y solo requiere modificaciones menores en el código. Nuevamente, este es el ejemplo de código que mostramos anteriormente de cómo usamos Keras. Tenemos un modelo secuencial al que agregamos capas, como la capa densa aquí con 32 unidades y 10 unidades. Pero ahora probablemente no consideramos que 32 sea un número muy bueno para el número de unidades en la capa densa. Queremos encontrar automáticamente cuál es el mejor valor para el número de unidades en esta capa densa. Así que solo necesitamos cambiar esta línea por algo que se vea así. Simplemente tenemos una instancia de hiperparámetro HP. Pasamos el nombre del hiperparámetro, un valor medio, un valor máximo y la granularidad del hiperparámetro. Es muy intuitivo y muy fácil de modificar el código existente de Keras. Y luego comienzas la búsqueda inicializando un sintonizador.

4. Automatizando el Bucle con AutoKeras

Short description:

Aquí utilizamos la búsqueda aleatoria, que es un algoritmo de búsqueda muy simple, por supuesto. Pero tenemos algo mejor en Keras Tuner, como la optimización bayesiana o hyperband. También puedes usarlos. Así que ahora el bucle está automatizado. Queremos que tengan directamente la solución y ejecuten directamente los modelos. Pero cómo usar el aprendizaje automático hoy en día es muy diferente. Realmente queremos reducir la curva de aprendizaje del uso del aprendizaje automático. Por eso vamos al cuarto miembro de la familia, que se llama AutoKeras, una biblioteca de AutoML para el aprendizaje profundo, para reducir la curva de aprendizaje de la adopción real del aprendizaje automático en aplicaciones del mundo real. Veamos un caso de uso muy simple, tan simple como tres líneas de código, para construir una solución de aprendizaje automático. Y no requiere ningún conocimiento previo de aprendizaje automático, en realidad, en este caso de uso.

Aquí utilizamos la búsqueda aleatoria, que es un algoritmo de búsqueda muy simple, por supuesto. Pero tenemos algo mejor en Keras Tuner, como la optimización bayesiana o hyperband. También puedes usarlos.

Luego comienzas la búsqueda pasando el conjunto de entrenamiento x train y y train como los datos de entrenamiento y especificando las épocas y los datos de validación. Es muy simple usar la función fit del modelo en la biblioteca Keras. Así que ahora el bucle está automatizado. No tienes que pasar manualmente por este bucle una y otra vez. Y lo que estamos pensando ahora es si podemos llevar esto más lejos para automatizar aún más este proceso. Así que no queremos que el usuario ni siquiera sea consciente de la existencia de este bucle. Queremos que tengan directamente la solución y ejecuten directamente los modelos.

Entonces, una vez Andrew Ng dijo que la IA es la nueva electricidad, todos creemos eso. Pero ahora cómo estamos usando la IA es muy diferente de cómo estamos usando la electricidad. Por ejemplo, cómo estamos usando la electricidad hoy en día es como cuando la batería de tu teléfono está descargada, simplemente la conectas a la pared. Creo que todos pueden hacer esto. Todos saben cómo hacer esto. Pero cómo usar el aprendizaje automático hoy en día es muy diferente. Si quieres construir una solución de aprendizaje automático, tienes que leer muchos libros de texto y seguir algunos tutoriales en línea o incluso tomar algunos cursos en línea para entender el algoritmo detrás de esas soluciones de aprendizaje automático. Y al entender esos algoritmos, puedes comenzar a saber qué modelo es el mejor para tu aplicación. Y luego puedes comenzar a usar esas bibliotecas para implementar tu solución de aprendizaje automático. Es realmente difícil de usar. Así que realmente queremos reducir la curva de aprendizaje del uso del aprendizaje automático.

Y sí, por eso vamos al cuarto miembro de la familia, que se llama AutoKeras, una biblioteca de AutoML para el aprendizaje profundo, para reducir la curva de aprendizaje de la adopción real del aprendizaje automático en aplicaciones del mundo real. Veamos un caso de uso muy simple, tan simple como tres líneas de código, para construir una solución de aprendizaje automático. Y no requiere ningún conocimiento previo de aprendizaje automático, en realidad, en este caso de uso. Como puedes ver, importamos AutoKeras como AK. Y inicializamos el clasificador de imágenes, solo para tareas de clasificación de imágenes. Y luego puedes llamar a la función fit pasando x e y. Y no se especifican otros argumentos aquí. Simplemente ingresas los datos de entrenamiento. Y luego puedes comenzar la predicción pasando los datos de prueba.

5. Funciones y Despliegue de AutoKeras

Short description:

AutoKeras admite todos los argumentos de Keras, incluyendo funciones de callback, tensor board y checkpointing. Puedes especificar el número de épocas o dejar que AutoKeras lo ajuste automáticamente. Los modelos se pueden exportar como modelos de Keras y desplegar en cualquier lugar compatible con TensorFlow.

Es bastante simple de usar. Y también tiene algunas características interesantes. La primera es que admite todos los argumentos de Keras aquí en el clasificador de imágenes. Por ejemplo, puedes limitar el tamaño del modelo que estás intentando obtener para poder desplegarlo en un dispositivo periférico con espacio de memoria limitado. Y para las funciones fit y predict, en realidad admitimos todos los argumentos de Keras. Esto significa que puedes pasar funciones de callback a la función fit. Y puedes usar tensor board y checkpointing, detención temprana, todo lo relacionado con las funciones de callback con Auto Keras. También puedes especificar el número de épocas aquí. Pero aquí, no lo especificamos en el ejemplo. Esto significa que también puedes optar por no especificarlo si no sabes cuántas iteraciones debes realizar en el bucle de entrenamiento. Y lo ajustaremos automáticamente por ti. Esto significa que realmente se requiere un mínimo conocimiento para usar esta biblioteca. Además, tenemos una característica interesante de exportar el modelo. Aquí llamas a automodel.exportmodel, y obtienes un modelo de Keras. Y ese modelo de Keras se puede guardar en el disco para uso y despliegue futuro. Y recuerda, todo está construido sobre TensorFlow, por lo que estos modelos se pueden desplegar en cualquier lugar que sea compatible con TensorFlow.

6. AutoKeras: Tareas y Uso Avanzado

Short description:

AutoKeras admite varias tareas, incluyendo clasificación de imágenes, regresión y más. También maneja escenarios complejos como datos de múltiples modelos y aprendizaje de múltiples tareas. Por ejemplo, puede predecir el precio y la ocupación de una casa utilizando tanto imágenes como datos estructurales. AutoKeras proporciona una interfaz simple, AutoModel, para especificar las entradas y salidas. Los usuarios avanzados pueden especificar el espacio de búsqueda para la arquitectura del modelo utilizando la API funcional de Keras. Pueden conectar diferentes bloques, como ResNet y ExceptionNet, y especificar los métodos de fusión y clasificación. AutoKeras admite diferentes versiones de ResNet y proporciona varios otros argumentos para personalización.

No solo admitimos clasificaciones de imágenes. En realidad, admitimos seis tareas en total, clasificación de imágenes, regresión de imágenes y lo mismo para tareas de datos y estructura en clasificación y regresión. Y pronto vendrán más tareas como detección de objetos, segmentación de imágenes y pronóstico de series temporales. Así que puedes esperar eso.

Además de esos casos de uso simples, casos de uso típicos, en realidad admitimos casos de uso más complicados como datos de múltiples modelos y múltiples tareas. Esto es más cercano a los escenarios de casos de uso del mundo real. Por ejemplo, los datos de imagen pueden ser una imagen de una casa y los datos de estructura pueden ser los atributos, algunos atributos de esa casa. Por ejemplo, el área total de la casa y los planos de planta de la casa. ¿Cuántos pisos tiene? Y la longitud o latitud de la casa donde se encuentra. Al ingresar esta información en el modelo, queremos hacer una regresión, como predecir el precio de la casa, y queremos hacer una clasificación de cuántas personas deberían vivir en la casa. Y este escenario es compatible con AutoKeras de esta manera. Nuevamente, es muy simple. En lugar de usar clasificación de imágenes, estamos usando otra interfaz llamada AutoModel y puedes pasar las entradas y salidas a ella. Las entradas son como se muestra en la figura en la diapositiva anterior. Es como una entrada de imagen, una entrada de datos de estructura, una salida es solo una cabeza de regresión y una cabeza de clasificación, muy simple, son intuitivas de usar. También llamas a la función fit, pero aquí son datos de múltiples modelos, por lo que estamos pasando una lista de X, las imágenes y los datos de estructura. Y para la multitarea, estamos pasando los objetivos de regresión y los objetivos de clasificación aquí. Y eso es para el modelo y la multitarea.

Y para los usuarios avanzados, es posible que ya sepan qué tipo de modelo es el mejor para su solución, pero no conocen todos los detalles de cada hiperparámetro, por lo que desean especificar aproximadamente el espacio de búsqueda, como el modelo debería ser así, pero sin muchos detalles. Por ejemplo, los datos de imagen deberían usar ResNet y ExceptionNet juntos y fusionar la salida. Y para los datos de estructura, queremos usar Perceptrón de múltiples capas y fusionarlos todos juntos y hacer la regresión y clasificación. Entonces deberían hacer algo como esto. Es exactamente lo mismo que la API funcional de Keras. Puedes consultar los tutoriales de la API funcional de Keras y aprenderlo. Pero la idea es simplemente conectar estos bloques. Bloque ResNet, bloque ExceptionNet y bloque de fusión, y cómo clasificar y cómo conectarlos juntos con este código. Es importante destacar que estamos pasando un argumento aquí, que es versión igual a v2. Eso significa que solo buscaremos el ResNet v2 aquí en este bloque. Pero si no sabes cuál es la mejor versión, puedes optar por no pasarlo y dejarlo en blanco y lo ajustaremos automáticamente por ti. Y hay muchos otros argumentos que son compatibles en el bloque ResNet, así como en otros bloques.

7. Características de Keras y TensorFlow

Short description:

Admitimos bloques de redes neuronales como ResNet y ExceptionNet, así como bloques de preprocesamiento como normalización, codificación categórica, factorización de texto y aumento de imágenes. AutoKeras es una biblioteca de AutoML para aprendizaje profundo que te permite implementar soluciones simples con solo tres líneas de código. Admite datos de múltiples modelos y multitareas, y se basa en Keras TuneR para la sintonización automática de hiperparámetros. Keras es una biblioteca productiva de soluciones de aprendizaje profundo que se basa en TensorFlow, lo que permite su implementación en diversos entornos y su escalado en múltiples servidores y aceleradores. Agradecemos a Datalab de la Universidad de Texas A&M y al equipo de Keras de Google por su apoyo. Gracias a todos por asistir a la charla.

Y no solo admitimos bloques de redes neuronales como ResNet y ExceptionNet, sino que también admitimos algunos bloques de preprocesamiento como normalización, codificación categórica o factorización de texto, así como aumento de imágenes. Por lo tanto, puedes conectarlos todos juntos para construir una solución de extremo a extremo.

Sí, repasemos lo que hablamos hoy. Lo primero es lo último de lo que hablamos, que es AutoKeras, una biblioteca de AutoML para aprendizaje profundo. Puedes implementar una solución muy simple con solo tres líneas de código. También admitimos datos de múltiples modelos y multitareas. Está construido sobre Keras TuneR, que es una biblioteca muy simple de usar para la sintonización automática de hiperparámetros, que a su vez se basa en Keras. Con una modificación mínima al código existente de Keras, puedes realizar la sintonización automática de hiperparámetros. Keras es una biblioteca radical y productiva para soluciones de aprendizaje profundo. Nuevamente, es muy simple de usar y no necesitas aprender todo de antemano, sino aprender gradualmente a medida que tienes casos de uso más complicados. Todo esto está construido sobre TensorFlow, una base muy poderosa. Puedes implementar el modelo en diversos entornos y escalarlo en múltiples servidores, múltiples GPU y TPUs para acelerar el entrenamiento. Por último, me gustaría agradecer a Datalab de la Universidad de Texas A&M y al equipo de Keras de Google por su apoyo en el proyecto de Keras. Y gracias a todos por asistir a la charla. Gracias.

Es genial que también hayas cubierto lo que más hay dentro de Keras y TensorFlow, ¿verdad? A veces siento que la gente olvida que no solo se trata de optimizadores y capas, ¿verdad? Hay muchas cosas que se pueden usar en tus proyectos.

Sí, sí. En realidad, cubrimos muchas herramientas y muchas personas solo conocen Keras. Entonces, si prueban otras herramientas en la comunidad de Keras, les será de mucha ayuda en su trabajo.

Sí, sí. Y también creo que, ya sabes, es casi como un caso de descubrimiento, ¿verdad? Una vez que alguien comienza a usar una herramienta, se da cuenta de que tal vez hay algo más dentro de sus libros, ¿verdad? Y definitivamente beneficia a todo el ecosistema, ¿verdad? Para descubrir cosas nuevas.

Sí. Sí, genial. Tengo un par de preguntas. La primera pregunta viene de Didu. Espero estar pronunciando correctamente. Hola, Feng. ¿Cuál fue uno de los principales desafíos para hacer que Keras y el aprendizaje profundo en general sean accesibles para los desarrolladores y reducir la barrera del conocimiento? Esto no es solo sobre AutoKeras, sino una pregunta más amplia para ti.

Sí. Actualmente, creo que ya es muy accesible para muchos desarrolladores en la comunidad.

8. Desafíos para principiantes y recursos

Short description:

Los principiantes enfrentan desafíos debido a su limitado conocimiento en matemáticas, estadísticas y programación. Comenzar con proyectos más sencillos como AutoKeras o tomar cursos de nivel principiante puede ser útil. Los sitios web de TensorFlow y AutoKeras proporcionan tutoriales y ejemplos. Francois comparte ejemplos en Twitter y se fomentan las contribuciones de código abierto.

Pero el principal desafío sigue siendo para los principiantes. Por ejemplo, no tienen mucho conocimiento matemático o conocimiento en estadística o incluso experiencias limitadas en programación. De esa manera, creo que aún puede ser más difícil para ellos comenzar. Incluso con los ejemplos o documentación en el sitio web. Por lo tanto, creo que será más útil para ellos comenzar con un proyecto más sencillo como AutoKeras o tomar un curso de nivel principiante para comenzar. Creo que esa es la única forma tal vez.

Bien, bien. Y también el sitio web predeterminado de TensorFlow también tiene muchos tutoriales, ¿verdad? Lo mismo ocurre con AutoKeras, si las personas pueden simplemente hacer clic en el navegador y obtener algunos resultados, definitivamente es una buena estrategia. Sí, y una cosa más. También hay un sitio web de Keras, keras.io, donde las personas también pueden consultar muchos ejemplos. Sí, sí, ese es un buen punto que estás mencionando, porque según recuerdo, Francois también compartía bastantes cosas en Twitter. Entonces, si alguien tiene un ejemplo realmente genial para keras o tal vez cómo usar AutoKeras para este propósito, también pueden enviarlo como código abierto, ¿verdad? y esto será aceptado y tal vez alguien se vuelva famoso en la documentación, ¿verdad? Sí. Genial.

QnA

Using TensorFlow and Keras in the Research Domain

Short description:

La popularidad de TensorFlow y Keras en el ámbito de la investigación depende del área de investigación específica. Si bien los investigadores de aprendizaje profundo a menudo requieren más flexibilidad y enfrentan una curva de aprendizaje al usar TensorFlow y Keras, se están haciendo esfuerzos para abordar estos desafíos. La Ejecución Eager en TensorFlow proporciona más flexibilidad y permite a los investigadores escribir funciones en Python e incorporarlas al gráfico de ejecución. Keras no admite oficialmente ONIX, pero hay herramientas de terceros disponibles para exportar modelos de Keras a ONIX. En cuanto a la optimización de la arquitectura de las redes neuronales, Keras incluye modelos pre-entrenados y modelos sin pesos pre-entrenados. La estrategia predeterminada en AutoKeras es explorar un gran espacio de búsqueda comenzando con modelos conocidos y luego ajustando los hiperparámetros.

De acuerdo, la siguiente pregunta viene de Sanchit, y este usuario está preguntando, hey, ¿cuál es la estrategia para hacer que TensorFlow/Keras sea más popular en el ámbito de la investigación? Supongo que hay esta opinión, y no estamos seguros si está respaldada porque he visto diferentes números que respaldan esto o lo rechazan, se dice que hay muchas personas en la investigación que no usan TensorFlow, sino otros frameworks. ¿Hay algo que tú, por ejemplo, cuando estás desarrollando AutoKeras, haces para dirigirte a la comunidad de investigación o cómo sientes que Keras/TensorFlow es para la investigación o no tanto, ¿verdad? ¿Cuál es tu opinión?

Depende de cuál sea el área de investigación. Si se trata de un área de investigación que no sea la de los investigadores de aprendizaje profundo, entonces las personas también pueden usar fácilmente Keras y TensorFlow, ya que generalmente utilizan los modelos más populares que son fácilmente compatibles con TensorFlow o Keras. Pero para los investigadores de aprendizaje profundo, generalmente hacen algo loco para ajustar los modelos a sus propias necesidades. Para esta flexibilidad, tengo que admitir que todavía hay algunas curvas de aprendizaje para que comiencen con TensorFlow y Keras, pero estamos trabajando duro en eso. Y eso definitivamente es una de nuestras prioridades más altas del equipo, y actualmente estamos respaldando la Ejecución Eager. Por lo tanto, puedes tener un efecto similar al usar Python, puedes escribir funciones en Python y hacerlas parte de una operación de TensorFlow y hacerlas parte del gráfico de ejecución. Por lo tanto, eso también brinda mucha flexibilidad a la comunidad de investigación.

Sí, definitivamente es un buen punto, ¿verdad? Porque supongo que TensorFlow 1.X, ¿verdad, o Keras antes de eso, también era muy estático en el gráfico? Y ahora, esta Ejecución Eager o Eager por defecto a partir de 2.X, esto es muy simple. Y lo que mostraste también en tu ejemplo es una cinta de gradiente, puedes ser muy flexible. Y creo que, François, nuevamente, compartiendo muchos ejemplos de cómo puedes personalizar tus modelos y todo, desde la distribución hasta el manejo de las entradas de datos que ya están manejadas para ti. Y como investigador, necesitas manejar todo. Porque a veces, cuando también leo código de PyTorch, tengo la sensación de que las personas, quiero decir, es flexible, pero también tiene un costo, ¿verdad? Un precio que pagar que debes manejar esas cosas por tu cuenta, ¿verdad?

Genial. Otra pregunta viene de Walter. Y él está preguntando, ¿Keras también apunta a ONIX? ¿Hay soporte? Pero siento que, para mí, hacer que las cosas funcionen con ONIX es un poco incierto. Actualmente, no lo respaldamos oficialmente con ninguno de los desarrolladores de Google. Pero confiamos en la comunidad de código abierto para respaldarlo. Creo que hay algunas herramientas de terceros, solo para respaldar cómo puedes exportar el modelo de Keras a un modelo ONIX. Sí. Otra pregunta viene de Bernhard. Bernhard tuvo una charla relámpago sobre AutoML ayer. Y hoy está preguntando, ¿cómo optimiza Keras la arquitectura de la red neuronal? ¿O simplemente encuentra la mejor red pre-entrenada? Ambos están incluidos. Se incluyen tanto modelos pre-entrenados como modelos sin pesos pre-entrenados. Estamos tratando de explorar un gran espacio de búsqueda comenzando la búsqueda con algunos arranques previos. Como, ya conocemos algunos buenos modelos, como ResNet y EfficientNet con pesos pre-entrenados y algunas convoluciones más pequeñas. Simplemente comenzamos la búsqueda con varios buenos modelos que ya conocemos. Luego comenzaremos a explotar los detalles de los hiperparámetros, como el optimizador y la tasa de aprendizaje. Y esa es la estrategia predeterminada de AutoKeras en este momento.

Customizing Models and Time Series Forecasting

Short description:

AutoKeras permite a los usuarios especificar la estructura de bloques, la profundidad y el ancho de la red. El espacio de búsqueda es limitado, pero incluye los modelos más populares y sus hiperparámetros. Los usuarios pueden configurar sus propios modelos basados en las opciones disponibles. Se pueden compartir ideas adicionales y problemas en AutoKeras GitHub. Se espera que una versión básica de pronóstico de series de tiempo con AutoKeras esté disponible para fin de año, con soporte completo para datos categóricos y numéricos.

Creo que es más adecuado para la mayoría de los casos de uso, pero siempre puedes cambiar otras estrategias como búsqueda aleatoria, hyperband y optimización bayesiana. Genial, es muy bueno. Tal vez, si puedo dar seguimiento desde mi lado a esta pregunta, digamos que haces, no sé, como ResNet, ¿verdad, o Inception, hay bloques particulares, ¿verdad, de la red que no se pueden reutilizar, en todos los casos, ¿verdad? Cuando construyes tu propia red, ¿verdad, reutilizas esos bloques y luego se trata más de las conexiones de salto, ¿verdad, y la arquitectura? ¿O también das, ya sabes, suficiente libertad, ¿verdad, para también diseñar qué estructura de bloques vas a usar, ¿verdad? ¿Qué tan profundo vas en tus optimizaciones o qué tan ancho, básicamente? El usuario puede especificarlo. Pero el espacio de búsqueda sigue siendo limitado, no infinito. Por lo tanto, estamos incluyendo la mayoría, nuestros hiperparámetros de todos esos modelos populares dentro del espacio de búsqueda. Pero para ResNet, no tenemos un número infinito de ResNet, sino solo todas las combinaciones de los hiperparámetros que consistirán en alrededor de 100 modelos ResNet diferentes. Y creemos que eso debería ser suficiente para que un usuario busque y configure el suyo propio.

Sí, genial, genial. Es muy bueno. Y en general, supongo que si alguien tiene ideas adicionales, aún puede crear problemas en AutoKeras en GitHub, ¿verdad? Y luego siempre puedes reutilizarlos y ver qué está sucediendo. Tal vez una última pregunta breve de Miguel. Miguel está preguntando, hey, ¿cuándo podemos esperar la posibilidad de un pronóstico de series de tiempo con AutoKeras? Esperamos tener una versión básica lista para fin de año. Actualmente, en realidad, es utilizable en la última versión pero no lo hemos incluido en la documentación porque no es lo suficientemente estable y no admite datos categóricos. Y para fin de año, esperamos tener la versión completa que admita tanto datos categóricos como datos numéricos y el pronóstico de series de tiempo. Genial, increíble. Gracias nuevamente por responder todas esas preguntas pero también por dar esta charla para nosotros. Fue un placer escucharte. Gracias.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

TensorFlow.js 101: Aprendizaje automático en el navegador y más allá
ML conf EU 2020ML conf EU 2020
41 min
TensorFlow.js 101: Aprendizaje automático en el navegador y más allá
TensorFlow.js enables machine learning in the browser and beyond, with features like face mesh, body segmentation, and pose estimation. It offers JavaScript prototyping and transfer learning capabilities, as well as the ability to recognize custom objects using the Image Project feature. TensorFlow.js can be used with Cloud AutoML for training custom vision models and provides performance benefits in both JavaScript and Python development. It offers interactivity, reach, scale, and performance, and encourages community engagement and collaboration between the JavaScript and machine learning communities.
Transformers.js: Machine Learning de Última Generación para la Web
JSNation 2025JSNation 2025
27 min
Transformers.js: Machine Learning de Última Generación para la Web
Joshua introduces Transformers JS and Hugging Face, emphasizing community collaboration and pre-trained models. Transformers JS evolution led to 1.4 million monthly users, supporting 155 architectures. The library's browser-based capabilities offer real-time processing, cost-efficiency, and scalability. Integration enhancements include native web GPU execution and React Native implementation. Web ML implementation focuses on Onyx Runtime for device execution and web GPU for resource optimization. Browser-based ML applications cover vision, speech recognition, and text-to-speech. Advanced implementations include multimodal applications and educational tools. Interactive AI demonstrations showcase semantic search and conversational AI scenarios. Model licensing transitions to ECMAScript for efficiency and model redownloading factors are discussed.
Construye un Sistema Solar 3D con Reconocimiento de Manos y Three.js
JSNation 2022JSNation 2022
36 min
Construye un Sistema Solar 3D con Reconocimiento de Manos y Three.js
Top Content
This Talk explores the use of TypeScript, 3JS, hand recognition, and TensorFlow.js to create 3D experiences on the web. It covers topics such as rendering 3D objects, adding lights and objects, hand tracking, and creating interactive gestures. The speaker demonstrates how to build a cube and a bouncy box, move objects with flick gestures, and create a solar system with stars and planets. The Talk also discusses the possibilities of using hand gestures for web navigation and controlling websites, as well as the performance limits of these technologies.
Uso de MediaPipe para Crear Aplicaciones de Aprendizaje Automático Multiplataforma con React
React Advanced 2021React Advanced 2021
21 min
Uso de MediaPipe para Crear Aplicaciones de Aprendizaje Automático Multiplataforma con React
Top Content
MediaPipe is a cross-platform framework that helps build perception pipelines using machine learning models. It offers ready-to-use solutions for various applications, such as selfie segmentation, face mesh, object detection, hand tracking, and more. MediaPipe can be integrated with React using NPM modules provided by the MediaPipe team. The demonstration showcases the implementation of face mesh and selfie segmentation solutions. MediaPipe enables the creation of amazing applications without needing to understand the underlying computer vision or machine learning processes.
Observabilidad con diagnostics_channel y AsyncLocalStorage
Node Congress 2023Node Congress 2023
21 min
Observabilidad con diagnostics_channel y AsyncLocalStorage
Observability with Diagnostics Channel and async local storage allows for high-performance event tracking and propagation of values through calls, callbacks, and promise continuations. Tracing involves five events and separate channels for each event, capturing errors and return values. The span object in async local storage stores data about the current execution and is reported to the tracer when the end is triggered.

Workshops on related topic

¿Pueden los LLM aprender? Personalicemos un LLM para chatear con tus propios datos
C3 Dev Festival 2024C3 Dev Festival 2024
48 min
¿Pueden los LLM aprender? Personalicemos un LLM para chatear con tus propios datos
WorkshopFree
Andreia Ocanoaia
Andreia Ocanoaia
Sientes las limitaciones de los LLMs? Pueden ser creativos, pero a veces carecen de precisión o se basan en información desactualizada. En esta masterclass, desglosaremos el proceso de construir y desplegar fácilmente un sistema de Generación con Recuperación Mejorada. Este enfoque te permite aprovechar el poder de los LLMs con el beneficio adicional de precisión factual e información actualizada.
Aprovechando LLMs para Construir Experiencias de IA Intuitivas con JavaScript
JSNation 2024JSNation 2024
108 min
Aprovechando LLMs para Construir Experiencias de IA Intuitivas con JavaScript
Workshop
Roy Derks
Shivay Lamba
2 authors
Hoy en día, todos los desarrolladores están utilizando LLMs en diferentes formas y variantes, desde ChatGPT hasta asistentes de código como GitHub CoPilot. Siguiendo esto, muchos productos han introducido capacidades de IA integradas, y en este masterclass haremos que los LLMs sean comprensibles para los desarrolladores web. Y nos adentraremos en la codificación de tu propia aplicación impulsada por IA. No se necesita experiencia previa en trabajar con LLMs o aprendizaje automático. En su lugar, utilizaremos tecnologías web como JavaScript, React que ya conoces y amas, al mismo tiempo que aprendemos sobre algunas nuevas bibliotecas como OpenAI, Transformers.js
Deja que la IA sea tu Documentación
JSNation 2024JSNation 2024
69 min
Deja que la IA sea tu Documentación
Workshop
Jesse Hall
Jesse Hall
Únete a nuestro masterclass dinámico para crear un portal de documentación impulsado por IA. Aprende a integrar ChatGPT de OpenAI con Next.js 14, Tailwind CSS y tecnología de vanguardia para ofrecer soluciones de código e resúmenes instantáneos. Esta sesión práctica te equipará con el conocimiento para revolucionar la forma en que los usuarios interactúan con la documentación, convirtiendo las búsquedas tediosas en descubrimientos eficientes e inteligentes.
Aspectos destacados:
- Experiencia práctica en la creación de un sitio de documentación impulsado por IA.- Comprensión de la integración de la IA en las experiencias de usuario.- Habilidades prácticas con las últimas tecnologías de desarrollo web.- Estrategias para implementar y mantener recursos de documentación inteligente.
Tabla de contenidos:- Introducción a la IA en la documentación- Configuración del entorno- Construcción de la estructura de documentación- Integración de ChatGPT para documentación interactiva
Introducción a la IA para Desarrolladores de JavaScript con Tensorflow.js
JSNation Live 2021JSNation Live 2021
81 min
Introducción a la IA para Desarrolladores de JavaScript con Tensorflow.js
Workshop
Chris Achard
Chris Achard
¿Has querido explorar la IA, pero no has querido aprender Python para hacerlo? ¡Tensorflow.js te permite usar IA y aprendizaje profundo en javascript, sin necesidad de Python!
Veremos las diferentes tareas que la IA puede ayudar a resolver y cómo usar Tensorflow.js para resolverlas. No necesitas saber nada de IA para empezar, comenzaremos desde lo básico, pero aún así podremos ver algunas demos interesantes, porque Tensorflow.js tiene muchas funcionalidades y modelos preconstruidos que puedes usar en el servidor o en el navegador.
Después de este masterclass, deberías ser capaz de configurar y ejecutar modelos preconstruidos de Tensorflow.js, o comenzar a escribir y entrenar tus propios modelos con tus propios datos.
Prácticas con TensorFlow.js
ML conf EU 2020ML conf EU 2020
160 min
Prácticas con TensorFlow.js
Workshop
Jason Mayes
Jason Mayes
Ven y descubre nuestro masterclass que te guiará a través de 3 recorridos comunes al usar TensorFlow.js. Comenzaremos demostrando cómo usar uno de nuestros modelos predefinidos, clases de JS muy fáciles de usar para trabajar rápidamente con ML. Luego veremos cómo volver a entrenar uno de estos modelos en minutos utilizando el aprendizaje por transferencia en el navegador a través de Teachable Machine y cómo se puede usar en tu propio sitio web personalizado. Finalmente, terminaremos con un hola mundo escribiendo tu propio código de modelo desde cero para hacer una regresión lineal simple y predecir los precios ficticios de las casas en función de sus metros cuadrados.
La Guía del Autoestopista de la Galaxia de Ingeniería de Aprendizaje Automático
ML conf EU 2020ML conf EU 2020
112 min
La Guía del Autoestopista de la Galaxia de Ingeniería de Aprendizaje Automático
Workshop
Alyona Galyeva
Alyona Galyeva
¿Eres un Ingeniero de Software al que se le asignó la tarea de implementar un modelo de aprendizaje automático o aprendizaje profundo por primera vez en tu vida? ¿Te preguntas qué pasos seguir y cómo se diferencia el software impulsado por IA del software tradicional? Entonces este es el masterclass adecuado al que asistir.
Internet ofrece miles de artículos y cursos gratuitos que muestran lo fácil que es entrenar e implementar un modelo de IA simple. Al mismo tiempo, en la realidad es difícil integrar un modelo real en la infraestructura actual, depurarlo, probarlo, implementarlo y monitorearlo correctamente. En este masterclass, te guiaré a través de este proceso compartiendo consejos, trucos y herramientas de código abierto favoritas que te facilitarán mucho la vida. Así que al final del masterclass, sabrás por dónde empezar tu viaje de implementación, qué herramientas utilizar y qué preguntas hacer.