To see our schedule with full functionality, like timezone conversion and personal scheduling, please enable JavaScript and go here.
15:30
15:30
30min
Acreditaciones | Accreditations

Acreditaciones | Accreditations

Other
Poalla
15:30
30min
Acreditaciones | Accreditations

Acreditaciones | Accreditations

Other
Saraiba
15:30
30min
Acreditaciones | Accreditations

Acreditaciones | Accreditations

Other
Orballo
15:30
30min
Acreditaciones | Accreditations

Acreditaciones | Accreditations

Other
Neboeira
16:00
16:00
90min
DJango Girls (Parte I)

Django Girls

Si eres mujer o de alguna colectivo subrepresentado en cuanto a género (una persona transgénero, incluyendo no binaria, o una persona intersexual)* y quieres aprender a hacer páginas web, tenemos buenas noticias para ti: ¡vamos a celebrar un taller de un día para principiantes!

Tendrá lugar el 4 de octubre de 2024, como parte de PyConEs Vigo 2024.

Creemos que la industria de la informática se puede beneficiar enormemente de que incluir a más de vosotras en ella, por lo que queremos darte la oportunidad de aprender a programar y convertirte en una de nosotras, ¡gratis!
*Todas las personas de todas las identidades de género son bienvenidas, pero se dará prioridad a los grupos infrarrepresentados en IT.

https://djangogirls.org/es/vigo/

Web
Neboeira
16:00
90min
Nuestra primera API Restful + auth + OpenAPI
Nayra Tarazon Barbera

Una vez hemos aprendido las bases de Python, la primera pregunta que nos solemos hacer es ¿Y ahora qué? Tenemos bases de programación pero nos falta conocer librerías capaces de llevar a cabo nuestros desarrollos de una manera rápida y sencilla.

El objetivo de este taller es dar las herramientas necesarias a estas personas para poder crear su primera API RESTful con Python. 

Para ello, montaremos los endpoints necesarios para realizar la autenticación de cliente por token para securizar nuestra API, también montaremos un par de endpoints priorizando primero la escritura de los tests, hablaremos de las diferencias que hay entre los distintos métodos disponibles GET, POST, PUT, PATCH y DELETE, comentaremos estrategias para conformar la sintaxis de nuestras urls de manera que se genere coherencia entre ellas y finalmente acabaremos planteando un caso de uso en el cual un cliente necesita actualizar uno de los endpoints pero nosotros, como proveedores de un servicio, estemos obligados a guardar retrocompatibilidad con el resto de clientes, de manera que este ejemplo nos permitirá introducir el concepto de versionado de APIs.

Core
Orballo
16:00
90min
Pattern busters: encontrando patrones significativos con Python en aplicaciones reales
Pablo García Santaclara, Camilo Piñón Blanco

La idea de este taller es presentar técnicas de nivel medio/avanzado para detección de patrones y minería de datos y muestra en qué contextos y aplicaciones reales (industria, ciberseguridad, ...) son útiles, qué permiten hacer o qué limitaciones tienen. Con esto, se pretende mostrar que no siempre se necesita conocer los detalles un algoritmo para saber usarlo, interpretar qué entradas necesita y qué resultados o patrones permite detectar para extraer información relevante de un conjunto de datos.

Cuando uno empieza a trabajar en analítica y minería de datos, existen muchas buzzwords (redes neuronales, FFT, autoencoders, t-SNE...), que pueden resultar abrumadoras y muchas veces existe una barrera invisible a la hora de utilizar nuevas técnicas que podrían aportar mucho valor a la hora de obtener insights.

La detección de patrones significativos y anomalías constituye una de las labores más relevantes en el análisis de datos. A veces, un simple análisis exploratorio preliminar no aporta la información relevante que pueden contener los datos. En estos casos suele ser necesario recurrir a técnicas más adaptadas al problema.

El taller estará dividido en dos partes, una centrada en datos tabulares y otra orientada a análisis de series temporales. En ella exploraremos diferentes opciones para el reconocimiento de patrones repetitivos, técnicas para la detección de anomalías o para la generación de datos. El punto común es la captura de patrones y el estudio de las relaciones presentes en los datos. Las librerías que se van a utilizar incluyen: keras (tensorflow), stumpy, sklearn, tslearn, umap y numpy; siendo el principal objetivo que los asistentes se lleven nuevas herramientas con las que poder atacar problemas de ciencia de datos.

Requerimientos previos de la charla:
Conocimiento bajo-intermedio de python (librerías como Pandas, NumPy, Scikit-Learn)
Conocimiento bajo de Jupyter-notebook
Conocimientos básicos de análisis de datos.
Ordenador portátil.

El enlace al repositorio con el readme para la instalación es el siguiente:
https://github.com/Gradiant/PyConEs2024-PatternBusters/tree/main

Machine learning, stats
Poalla
16:00
90min
Superando el reto del billón de filas con Python
Jordi Contestí, Kiko Correoso, Ernesto Coloma Rotger

En el mundo del análisis de datos nos encontramos a menudo con la necesidad de analizar una cantidad masiva de datos con unos recursos muy limitados y en estos casos es importante tener claro qué estrategias y librerías se adaptan mejor a nuestras necesidades.

En este tutorial práctico vamos a cargar un fichero con mil millones de filas, inspirándonos en el reto de procesar un billón (en inglés) de filas: https://github.com/gunnarmorling/1brc, y veremos cómo podemos procesarlo y trabajar con él mediante Python.

En concreto, para superar este reto trabajaremos con librerías como numpy, pandas, Polars, PyArrow, DuckDB, Dask o Modin y utilizaremos formatos de ficheros tales como CSV, Apache Parquet o Feather y veremos las ventajas y desventajas de cada opción.

Para poder aprender y disfrutar de este tutorial recomendamos tener al menos 1 año de experiencia en Python, pero no es necesario tener experiencia en procesamiento de grandes cantidades de datos. Y no te preocupes si tienes un portátil con pocos recursos porque podrás adaptar fácilmente el tutorial a tu configuración y completar todos los ejercicios que te plantearemos sin problema.

Enlace a las instrucciones y material: https://github.com/PyDataMallorca/PyConES2024_Superando_el_1brc_con_Python (Importante: no vamos a dedicar tiempo a la instalación durante el taller así que, por favor, ven con todo instalado previamente)

Data Engineering
Saraiba
17:30
17:30
30min
Pausa café | Coffee Break

Pausa en las charlas. Se dispondrán mesas con snacks, café, bebidas y demás. Un espacio ideal para comentar ponencias, poner conocimiento en común y hacer networking.

Coffee Break
Poalla
17:30
30min
Pausa café | Coffee Break

Pausa en las charlas. Se dispondrán mesas con snacks, café, bebidas y demás. Un espacio ideal para comentar ponencias, poner conocimiento en común y hacer networking.

Coffee Break
Saraiba
17:30
30min
Pausa café | Coffee Break

Pausa en las charlas. Se dispondrán mesas con snacks, café, bebidas y demás. Un espacio ideal para comentar ponencias, poner conocimiento en común y hacer networking.

Coffee Break
Orballo
17:30
30min
Pausa café | Coffee Break

Pausa en las charlas. Se dispondrán mesas con snacks, café, bebidas y demás. Un espacio ideal para comentar ponencias, poner conocimiento en común y hacer networking.

Coffee Break
Neboeira
18:00
18:00
90min
DJango Girls (Parte II)

Django Girls (segunda parte)

Si eres mujer o de alguna colectivo subrepresentado en cuanto a género (una persona transgénero, incluyendo no binaria, o una persona intersexual)* y quieres aprender a hacer páginas web, tenemos buenas noticias para ti: ¡vamos a celebrar un taller de un día para principiantes!

Tendrá lugar el 4 de octubre de 2024, como parte de PyConEs Vigo 2024.

Creemos que la industria de la informática se puede beneficiar enormemente de que incluir a más de vosotras en ella, por lo que queremos darte la oportunidad de aprender a programar y convertirte en una de nosotras, ¡gratis!
*Todas las personas de todas las identidades de género son bienvenidas, pero se dará prioridad a los grupos infrarrepresentados en IT.

https://djangogirls.org/es/vigo/

Web
Neboeira
18:00
90min
GenAI❤️f-string. Desarrollando con IA Generativa sin cajas negras.
Alejandro Vidal

Los frameworks de IA Generativa son demasiado "mágicos": ocultan detalles en pipelines aparentemente complejos. Operaciones simples como interpolaciones de texto (un f-string, vaya) se llaman StringConcatenationManagerDeluxe (dramatización).

Estas herramientas aceleran el desarrollo en las fases iniciales pero a un precio: el mantenimiento, observabilidad y la independencia se resienten. Cada vez hay más voces en la comunidad ([1], [2]) que comienzan a explicitar este problema.

Este taller pretende resumir mi experiencia desarrollando productos con LLMs para evitar el "framework-lock" y hacer desarrollos más fáciles de extender, migrar y debuguear:

  • Parte 1: Show me the prompt: destripando frameworks actuales
  • Parte 2: "Framework-lock": ¿Merece la pena? ¿Cómo migrar?
  • Parte 3: Desde cero: mejores prácticas para desarrollar aplicaciones complejas

Si estás desarrollando aplicaciones con LLMs y notas que te "peleas" con tu framework o si vas a empezar a desarrollar con IA Generativa y quieres ahorrarte bastantes quebraderos de cabeza este taller te puede interesar.

Para realizar el taller se necesitan conocimientos básicos de LLM: saber utilizar una API de LLMs y conocer el funcionamiento de un RAG (por ejemplo, este tutorial es una introducción usando langchain).

Los ejercicios del taller utilizarán OpenAI como servicio de inferencia. Los participantes deben tener una cuenta activa con créditos suficientes (aprox. 1-3€)

Machine learning, stats
Saraiba
18:00
90min
Open space 👥🗣

Espacios de discusión sobre cualquier temática - siempre que cumpla el código de conducta. Más información en Discord.

Open spaces to talk about any topic - it must follow the code of conduct. More info at Discord.

Other
Orballo
18:00
90min
Predicción Conforme: el fin de la predicción puntual descalibrada
Maria Moreno de Castro

En aprendizaje automático, las métricas de rendimiento nos indican si el modelo acertó, pero no si está seguro de su resultado.

Por ejemplo, imaginemos un clasificador entrenado para predecir si llueve (clase 1) o no (clase 0) dadas la temperatura y la humedad de ese día. Su rendimiento es impresionante, digamos que su exactitud es >95% en validación y prueba. Ahora bien, si la predicción para un nuevo día es ‘0.8’, muchos libros, cursos, ... concluyen que "hay un 80% de probabilidades de que llueva ese día". Sin embargo, esa puntuación bruta sólo pasó por una normalización que la acotó entre 0 y 1 para que todas las puntuaciones posibles sumen 1, pero no se calibró con el número de días que realmente llovió, por lo tanto no es una probabilidad real. Y desde luego no es ni más ni menos "fiable" que una predicción del ‘0.5’.

Pero la cosa empeora, ¿qué pasa si le pedimos al modelo una predicción en la que la entrada es la temperatura y la humedad de un día en el planeta Venus? Como el modelo no tiene forma de decirnos «no tengo ni idea de qué es esto», se limitará a producir una predicción sesgada, y se quedará tan pancho.

Podemos evitar ambos problemas con la Predicción Conforme: nos calibra las predicciones para que sean probabilidades verdaderas y, de paso, alrededor de cada predicción puntual obtenemos intervalos de predicción que, con garantía matemática, incluyen el valor verdadero. Cuanto más estrechos son los intervalos, mayor es la confianza en la predicción.

La Predicción Conforme es post-hoc (no es necesario reentrenar el modelo), model-agnostic (sirve para cualquier modelo y tarea: clasificación, regresión, series temporales, RAG, PINN, GNN, RL, XAI,..), es distribution-free (no hay suposiciones paramétricas) y muy ligera (se implementa con pocas líneas de código, ya hay muchos paquetes de Python desarrollados, y se ejecuta muy rápido). Los materiales e instrucciones se encuentran en este repositorio: https://github.com/MMdeCastro/Uncertainty_Quantification_XAI.
Slides: https://shorturl.at/Oe1Ph
Outline:
1. Por qué las métricas de rendimiento no son suficientes.
2. Por qué las predicciones no son probabilidades.
3. Cómo funciona la Predicción Conforme.
3.1 Orígenes.
3.2 Qué es la Predicción Conforme.
3.3 Cómo funciona la Predicción Conforme.
3.4 La medida de No Conformidad.
3.5 La validez o Garantía de Cobertura.
3.6 Cómo evaluar la Predicción Conforme.

Machine learning, stats
Poalla
08:15
08:15
60min
Acreditaciones | Accreditations

Acreditaciones | Accreditations

Other
Treboada
08:15
60min
Acreditaciones | Accreditations

Acreditaciones | Accreditations

Other
Poalla
08:15
60min
Acreditaciones | Accreditations

Acreditaciones | Accreditations

Other
Saraiba
08:15
60min
Acreditaciones | Accreditations

Acreditaciones | Accreditations

Other
Orballo
09:15
09:15
15min
Acto institucional

Acto institucional

Other
Treboada
09:30
09:30
30min
Apertura del evento | Event opening

Apertura del evento

Other
Treboada
10:00
10:00
45min
Python en Quantum+AI
ismael faro

La convergencia de la computación cuántica con la inteligencia artificial (IA) está generando un gran interés en la comunidad científica y tecnológica. El potencial tanto de las capacidades de computación a nivel cuántico, como de la explotación de los modelos de AI, están abriendo la discusión y exploración de como interconectar estas dos ramas de la tecnología y con ello, aplicar nuevas soluciones en las ambas direcciones, donde conectarlas por sus ventajas en puntos comunes.

“Quantum+IA, o como la IA puede ayudar a la computación cuántica y como la computación cuántica ayudara a la IA.”

En este contexto, Python ha demostrado ser un lenguaje fundamental en los kits de desarrollo tanto a nivel científico, por todas las herramientas y librerías a nivel académico, como a nivel de desarrollo, gracias a la facilidad uso como herramienta, tanto a nivel de sistema o entornos de producción, uniendo componentes y o envolviendo otras tecnologías. Como ejemplo de estas fortalezas contamos con dos de los SDK/librerías más populares en computación cuántica y IA desarrollos con Python, Qiskit SDK y Pytorch.

En esta presentación, exploraremos la relevancia del uso de Python en el desarrollo de aplicaciones que convergen computación cuántica e IA. Prestando atención en las oportunidades y desafíos asociados con la implementación de algoritmos, como de los recientes trabajos con técnicas de IA que ayuden a crear y mejorar algoritmos cuánticos, así como la mejora componentes relacionados con la ejecución y futuro diseño de sistema computacionales híbridos. Todo ello persiguiendo la búsqueda de la mayor combinación de cada una de estas tecnologías, y demostrando como Python es un lenguaje que ayuda a unir estos espacios de computación.

Scientific and quantum computing
Treboada
10:45
10:45
400min
Working area
Neboeira
10:45
30min
Pausa café | Coffee Break

Pausa en las charlas. Se dispondrán mesas con snacks, café, bebidas y demás. Un espacio ideal para comentar ponencias, poner conocimiento en común y hacer networking.

Coffee Break
Treboada
10:45
30min
Pausa café | Coffee Break

Pausa en las charlas. Se dispondrán mesas con snacks, café, bebidas y demás. Un espacio ideal para comentar ponencias, poner conocimiento en común y hacer networking.

Coffee Break
Poalla
10:45
30min
Pausa café | Coffee Break

Pausa en las charlas. Se dispondrán mesas con snacks, café, bebidas y demás. Un espacio ideal para comentar ponencias, poner conocimiento en común y hacer networking.

Coffee Break
Saraiba
10:45
30min
Pausa café | Coffee Break

Pausa en las charlas. Se dispondrán mesas con snacks, café, bebidas y demás. Un espacio ideal para comentar ponencias, poner conocimiento en común y hacer networking.

Coffee Break
Orballo
11:15
11:15
35min
Construyendo software resiliente y escalable con MLOps
Daniel Pérez Cabo

¿Estás familiarizado con los términos ‘arquitectura hexagonal’ y ‘TDD’? Probablemente sí. Pero, ¿qué pasa cuando estos conceptos se cruzan con el mundo de MLOps y la integración de modelos de IA en nuestro software?

La integración de la Inteligencia Artificial en nuestras aplicaciones y servicios puede ser un desafío. Los modelos de IA, a menudo vistos como ‘cajas negras’, pueden complicar el testeo, los despliegues y el mantenimiento del software en general. Sin embargo, con el enfoque correcto, podemos diseñar un software resiliente que no solo integre estos modelos, sino que también sea mantenible y escalable.

En esta charla, compartiremos nuestra experiencia construyendo soluciones complejas que requieren la integración de modelos de IA. A lo largo de los años, hemos iterado en la forma en que integramos estos modelos en nuestro código, llegando a una solución en la que el software y los modelos de IA pueden evolucionar a ritmos diferentes sin causar fricción ni problemas en el desarrollo.

Explicaremos cómo hemos navegado por este laberinto, las lecciones aprendidas y cómo hemos conseguido que la integración de la IA en nuestro software sea un proceso fluido y eficiente. También discutiremos cómo los principios de MLOps pueden ayudarnos a construir software más resiliente y escalable.

SW Engineering & Architecture
Poalla
11:15
310min
Hackatón

Esta hackatón está patrocinado por Newtral

RAG multimodal

Una ClaimReview es un estándar de metadatos para capturar información relevante sobre una verificación de datos (por ejemplo, título, imagen, calificación, afirmación…). Debido a que el documento de revisión combina texto y recursos multimedia, un buscador o chatbot de asistencia debe tener en cuenta no sólo la información textual, sino también toda la información que se puede extraer de los recursos multimedia (en nuestro caso, restringida a recursos de imagen).

En este contexto, el objetivo del desafío es construir un sistema MultiModal RAG (Retrieval-Augmented Generation) que, ante una pregunta formulada en texto o imagen:
- Recupere los candidatos más relevantes y
- genere una respuesta, considerando, en ambas fases, que las imágenes adjuntas al documento de claim reviews también pueden proporcionar información relevante.

Other
Espacio Xiada
11:15
35min
Let me introduce - Mercury - a new library for sharing notebooks as a web apps
Aleksandra Plonska, Piotr Płoński

Let me introduce Mercury. Among competing solutions, this is a new, much easier approach to solving the problem of sharing notebooks. It is a tool that lets you add interactive widgets to your notebook.
It is the simplest, ideal for quick web application prototyping, and does not require knowledge of front-end technologies. You can easily restrict access to your created application, add several users, and share an unlimited number of notebooks. You can even schedule automatic updates. And deploying? It can be done in just 60 seconds. Best of all, it's free and open-source.
https://RunMercury.com
We will discuss the following issues:
1. Problem to solve - sharing notebooks
2. How can you share your notebook these days?
3. Why not share the notebook as a web app?
4. Can I restrict access to the created web app?
5. Libraries you can use to visualize your data in Mercury
6. Features that make working with Mercury even better.
7. Deploying - do not struggle - remedy for quick deploying.

Software packages & jupyter
Saraiba
11:15
35min
Mapeando viviendas turísticas ilegales con Python
Juan Luis Cano Rodríguez

En primavera de 2024 explotó un clamor: "Canarias tiene un límite". Pronto se sucedieron manifestaciones multitudinarias por otras regiones tensionadas: "Mallorca no se vende", "Basta de Ibiza", "Cantabria se defiende".

Mientras tanto, en la capital del Reino, se venía fraguando un descontento similar desde hacía años. En mayo de 2024 el Ayuntamiento de Madrid publicó el listado oficial de las 1 008 licencias municipales para viviendas de uso turístico que se habían concedido en la ciudad, congeló temporalmente las nuevas concesiones, y endureció las sanciones.

Todo para hacer oficial una realidad: que había operando muchísimas más de las permitidas.

¿Cuántas? ¿De quién son? Y lo más importante, ¿dónde están?

Para tratar de contestar estas preguntas me armé de valor y me puse a hacer limpieza de datos con Polars, aprendí a hacer joins espaciales de proximidad con GeoPandas, casi me vuelvo loco montando mi propio semáforo asíncrono con AnyIO para poder hacer geocoding con datos de OpenStreetMap, y regresé a mis orígenes leyendo datos vectoriales con Fiona, Shapely, y pyproj.

Acompañadme en esta cruda historia de lucha vecinal aún en curso en la que, una vez más, la tecnología es parte fundamental. En esta charla contaré cómo fue mi primera aproximación a los datos que estaban publicados, las inconsistencias que descubrí al contrastarlos con el nuevo listado, el alborozo de los afectados cuando vieron por primera vez sus pesares reflejados en un mapa, lo que vino después, y cómo tú también puedes ayudar a concienciar de este problema.

Data Engineering
Treboada
11:15
35min
Modelando el efecto de las sombras en un sistema fotovoltaico
Brais González Rodríguez

En esta charla, exploraremos un aspecto crucial de la producción de energía fotovoltaica: el impacto de las sombras.

En una instalación fotovoltaica, es común que a lo largo del día se produzcan sombras sobre los módulos, ya sea por la propia estructura de montaje o por obstáculos en el entorno cercano. Aunque parezca que son insignificantes, incluso pequeñas sombras en unos pocos módulos pueden causar grandes pérdidas en la producción de energía.

El objetivo de la charla es presentar una versión simplificada de este problema y mostrar una implementación en Python que permite modelar el efecto del sombreado. La biblioteca principal que utilizaremos para el modelado de sistemas fotovoltaicos será pvlib, apoyándonos en otras librerías ampliamente utilizadas como Pandas, NumPy y Matplotlib/Plotly.

Con unos conocimientos básicos de Python, podrás seguir todo el proceso: planteamiento del problema, implementación, validación y visualización de los resultados.

Scientific and quantum computing
Orballo
12:05
12:05
35min
Comunidad: La clave del éxito de tu proyecto Open Source
Benjamin Granados

Únete a esta charla para descubrir la clave del éxito de cualquier proyecto Open Source: una comunidad activa. Aprenderás estrategias prácticas para construir y mantener una comunidad vibrante alrededor de tu proyecto. Desde la importancia del Código de Conducta, el modelo de gobierno y la documentación, hasta cómo fomentar la colaboración, exploraremos todo lo necesario para cultivar una comunidad que asegure la sostenibilidad y éxito de tu proyecto. Esta sesión es ideal para contributors, maintainers y persona entusiasta por la cultura Open Source y el poder de la Comunidad.

Community, society and culture
Saraiba
12:05
35min
El día en el que comencé a desarrollar todas mis Webs con Python
Brais Moure

Esta es una charla sobre el amor a primera vista. Sobre como, tras 15 años desarrollando aplicaciones web y apps, y sin ser ningún experto en Python, descubrí un framework que tenía todo lo que buscaba, y que, sorprendentemente, no tenía que programarse con JavaScript.

Su nombre es Reflex (https://reflex.dev), y sus creadores lo definen como un framework para crear aplicaciones web con Python puro, sin JS, HTML o CSS. Front, Back y despliegue con un único comando.

Quiero hablar de su enfoque rompedor, de cómo ha cambiado mi manera de desarrollar webs durante el último año.

Web
Treboada
12:05
35min
Introducción as inxeccións de código en Python
Guzman, Eloy

No mundo actual, cada vez existen máis problemas de seguridade que afectan á información e aos sistemas que a xestionan e, como cabe esperar, Python non está libre deste tipo de problemas. Os atacantes buscan vulnerabilidades que poidan explotar para o seu beneficio e os defensores investigan como defendernos destas ameazas.

Esta charla centrarase sobre as vulnerabilidades de inxección de código, as cales consisten en introducir código nunha aplicación na que, posteriormente, será executado ou interpretado. Este tipo de ataques prodúcense debido a unha falta de validación nos datos que se poden introducir nunha aplicación.

Primeiro explicarase como os atacantes inxectan código Python malicioso nunha sandbox na que a priori non se poden escribir ficheiros no sistema operativo.

Despois, falarase sobre como se explotan as vulnerabilidades de inxección de plantillas utilizando de exemplo unha aplicación web desenvolvida con flask.

Finalmente, describirase como aproveitar unha configuración feita en yaml e un programa que a le con PyYAML para mostrar o contido dalgún ficheiro confidencial.

Polo camiño explicaranse varios detalles do funcionamento interno de Python como a estrutura das builtins ou a árbore sintáctica abstracta. Tamén se mostrará como se foron tratando de resolver estes problemas de seguridade e como os atacantes conseguían evadir as diferentes defensas que se foron plantexando.

Core
Orballo
12:05
35min
¿Cómo enseñarle física a una red neuronal? Introducción a las PINNs
Manuel Souto Juan, Ricardo Fernández Jiménez

Multitud de problemas relacionados con el comportamiento de sistemas físicos pueden ser descritos mediante sistemas clásicos de ecuaciones diferenciales. Sin embargo, en casos de ecuaciones complejas o incluso en aplicaciones reales, estas ecuaciones no siempre tienen soluciones analíticas simples, y es necesario recurrir a procesos de cálculo aproximado para obtener una solución.

Estos métodos presentan problemas de escalabilidad y largos tiempos de ejecución, por ello, las Redes Neuronales Informadas por la Física o PINNs por sus siglas en inglés (Physics-Informed Neural Networks), presentan una forma novedosa de abordar este tipo de problemas complejos, aprovechando las capacidades de una red neuronal para resolver estas ecuaciones. Mediante condiciones de contorno apropiadas, las soluciones proporcionadas se ajustan al comportamiento real del sistema físico, evitando soluciones que no cumplan los requisitos físicos esperados. Incluso se pueden emplear datos observados para acelerar el proceso de aprendizaje y convergencia a una solución óptima.

El objetivo de esta charla es proporcionar a los asistentes con los conocimientos básicos sobre PINNs de forma que tengan consciencia de este tipo de soluciones y sean capaces de abordar y plantear problemas de esta índole en el futuro. Los puntos principales que se cubrirán son:

  • Fundamentos de las PINNs: Conocer los principios básicos y las ventajas de las PINNs frente a los métodos numéricos tradicionales basados en la discretización del dominio.
  • Implementación Técnica: Ver cómo construir y entrenar PINNs con un modelo simple, con un enfoque en la creación de la red neuronal y el cálculo automático de derivadas (Automatic Differentiation).
  • Aplicaciones Prácticas: Ejemplos concretos de cómo las PINNs se utilizan para resolver problemas industriales complejos, como en la dinámica de fluidos, la biomedicina, y la ingeniería estructural.
  • Beneficios Clave: Entender las ventajas competitivas de las PINNs, como la capacidad de manejar geometrías complejas y reducir la dependencia de grandes conjuntos de datos.

Al final de la sesión, los participantes estarán equipados con el conocimiento necesario para entender e implementar PINNs en sus propios proyectos, aprovechando su potencial para resolver problemas complejos de manera eficiente y precisa. Esta charla proporcionará una sólida base teórica y ejemplos prácticos que demuestran el valor de las PINNs en aplicaciones reales.

Para aprovechar al máximo esta charla, se recomienda que los asistentes tengan conocimientos básicos de Machine Learning y Python, así como una comprensión general de sistemas físicos para comprender el modelado mediante EDPs.

Machine learning, stats
Poalla
12:55
12:55
35min
Beyond Try-Except: Python's Frontier of Error Handling with Monads and Railway Magic
Sebastian Arias

Python developers often grapple with the LBYL and EAFP approaches to exception handling. As codebases evolve, the demand for effective error-handling strategies intensifies. This presentation introduces a paradigm-shifting approach to exception handling in Python by leveraging monads, specifically the Results Library, and embracing the Railway-Driven Development methodology – a functional programming concept known for providing a consistent and composable structure.

Demonstrating this approach through code examples, we'll showcase how integrating this monadic approach with Python features like pattern matching simplifies error management, elevating code readability, maintainability, and reliability.

By the end, attendees will possess a thorough understanding of monadic error handling and the Railway-Driven Development methodology. This knowledge empowers developers to make informed decisions, fostering more robust and maintainable Python code within the functional programming paradigm.

Core
Treboada
12:55
35min
Código saludable para equipos saludables (¿o al revés?)
Mai Giménez

Los repositorios de código a menudo nos decepcionan, pero seguimos creando otras nuevos con la absurda esperanza de que esta vez sea diferente. Alerta de spoiler: nunca lo es.

En particular, el código que programamos para investigar tiene la casi imposible tarea de cumplir con el oxímoron de ser robustas para llevar a cabo computaciones gigantes pero al mismo tiempo flexibles y fáciles de utilizar para experimentar rápidamente nuevas ideas.

Pero, ¿qué pasaría si hubiera una manera de romper el ciclo y construir código que perdure, incluso para investigaciones pioneras?

Esta charla no trata de dar soluciones mágicas, sino que indaga en de la poderosa conexión entre equipos sanos y código sano. Exploraremos cómo un equipo cohesionado y empoderado mejoró la calidad del código introduciendo de anotaciones de tipo y verificación de tipos en tiempo de ejecución para matrices en JAX.

Prepárate para abandonar el drama y descubrir:

  • La fórmula del equipo A: cómo construir un equipo de alto rendimiento que prospere colaborando y como empoderarles a todes.
  • Solucionando los problemas correctos: cómo elegir la (posiblemente) solución perfecta para satisfacer sus necesidades específicas.
  • De la aceptación a la implementación: estrategias para implementar con éxito y fomentar la adopción de los cambios.
  • Más allá del final: Aceptar el inevitable fin de nuestra participación directa en un repositorio y cómo seguir adelante.
Deep Learning
Poalla
12:55
35min
Cómo validar los datos de toda una compañía de manera productiva
Álvaro Ponce

Desde el equipo Digital de Cepsa, una de nuestras misiones es asegurar que los datos cuenten con la calidad necesaria para poder ser consumidos por todos los empleados. Dentro de nuestro plan de calidad del dato, hemos creado una herramienta in house para la validación de los datos que combina las ideas detrás de las librerías Pandera y Great Expectation quedándonos con lo mejor de ambos recursos.

Data Engineering
Orballo
12:55
35min
Gobierno del dato y el principio de Pareto: no dejes que lo perfecto sea enemigo de lo bueno.
Pedro Gómez López

¿Alguna vez has sentido que el gobierno del dato es una temática pesada y aburrida? ¿Quizás lo ves como algo más burocrático y complejo que técnico y funcional? ¿Miras al DMBOK y sientes lo mismo que cuando te obligaron a leer El Quijote en el instituto? ¡Esta charla es para ti! Vamos a desmitificar el gobierno del dato y a mostrar cómo puede ser pragmático y funcional.

Empezaremos hablando del contexto: ¿por qué es tan difícil implementar un buen gobierno del dato? Veremos casos reales donde se ha logrado un impacto positivo, pasando de lo funcional a lo técnico, con un enfoque que prioriza a las personas y a los procesos, siendo las tecnologías un componente mucho más vehicular. Mediremos lo que importa para tomar mejores decisiones.

Hablaremos de conceptos como DataGov, DataQuality y IA Readiness. No te asustes con los términos: lo desglosaremos de manera sencilla para que veas cómo la inteligencia artificial y el gobierno del dato pueden ir de la mano para crear sistemas más eficientes y evitar la creación de silos de información. Además, mostraremos ejemplos de diferentes stacks tecnológicos y contextos, con recursos de python como pandera, great expectations u open metadata que puedes implementar desde ya en tu viaje hacia un gobierno del dato útil y práctico.

Uno de los puntos fuertes de la charla será mostrarte cómo un enfoque iterativo e incremental puede marcar la diferencia. Utilizando modelos como el data mesh, verás cómo es posible escalar tu programa de gobierno del dato. También miraremos al futuro y evaluaremos el papel que juega un buen gobierno en alternativas más avanzadas como los espacios de datos o incluso modelos de internet descentralizado, como el protocolo SOLID. ¿Te suena interesante? Lo haremos sencillo, entendible y muy pragmático.

El principio de Pareto será nuestro guía: en lugar de buscar la perfección, aprenderemos a enfocarnos en lo que realmente aporta valor. No necesitas un sistema perfecto, o una herramienta muy cara para empezar a ver beneficios. Con un enfoque práctico y algunos ejemplos reales, descubrirás que es posible implementar un buen gobierno del dato sin morir en el intento.

Ven y descubre cómo el gobierno del dato puede ser un buen aliado para mejorar la toma de decisiones y hacer que tu trabajo diario sea más fácil. Y oye, con el tiempo ganado, hasta te puedas reconciliar con el Quijote (un librazo por cierto 📖).

Education, teaching & further training
Saraiba
13:30
13:30
90min
Almuerzo | Lunch break

Pausa de 90 minutos de duración. Se servirán distintos menús para reponer fuerzas. Ocasión ideal para hacer comunidad.

Other
Treboada
13:30
90min
Almuerzo | Lunch break

Pausa de 90 minutos de duración. Se servirán distintos menús para reponer fuerzas. Ocasión ideal para hacer comunidad.

Other
Poalla
13:30
90min
Almuerzo | Lunch break

Pausa de 90 minutos de duración. Se servirán distintos menús para reponer fuerzas. Ocasión ideal para hacer comunidad.

Other
Saraiba
13:30
90min
Almuerzo | Lunch break

Pausa de 90 minutos de duración. Se servirán distintos menús para reponer fuerzas. Ocasión ideal para hacer comunidad.

Other
Orballo
15:00
15:00
35min
Como estamos eliminando el GIL en CPython
Pablo Galindo Salgado

El "Global Interpreter Lock" (GIL) de CPython impide que múltiples hilos ejecuten código Python en paralelo. El GIL se añadió a Python en 1992 junto con el soporte original para hilos con el fin de proteger el acceso al estado compartido del intérprete.

Python admite varias formas de habilitar el paralelismo dentro de las restricciones del GIL, pero vienen con limitaciones significativas. Por un momento, imagina que pudieras evitar el tiempo de inicio de los workers de joblib, la inestabilidad multiproceso de los DataLoaders de PyTorch y la sobrecarga de serializar datos para la comunicación entre procesos.

Empezando en Python 3.13, en el core team tenemos como objetivo eliminar el GIL de CPython para hacer que los programas Python multihilo sean más eficientes, manteniendo la compatibilidad hacia atrás y el rendimiento en un solo hilo.

Esta charla cubrirá los cambios en Python para permitir que se ejecute de manera eficiente sin el GIL y lo que estos cambios significan para los programadores de Python y los autores de extensiones.

Core
Treboada
15:00
35min
Open space 👥🗣

Espacios de discusión sobre cualquier temática - siempre que cumpla el código de conducta. Más información en Discord.

Open spaces to talk about any topic - it must follow the code of conduct. More info at Discord.

Other
Orballo
15:00
35min
Visualize Realtime Stock Market Data with Kafka and FlinkSQL
Lucia Cerchie

Let’s say you want to create a realtime visualization of a Kafka data stream. Maybe you want to process it with FlinkSQL before visualizing it.

Your keyboard clatters, “mkdir data_viz_with_kafka_and_flinksql”. You cd in, activate your virtual environment, crack your knuckles, and… the complexities hit. How to create open connections to your data stream? Feed the data into a frontend component? What happens when multithreading rears its ugly head? Your feelings of bravado slowly dissipate… Don’t worry, I’ve got you covered!

In this session, we’ll cover how to take a stream of data in Kafka and visualize it with Streamlit. It’s sourced from the Alpaca API, before being sent to Kafka and processed with FlinkSQL for surfacing the Streamlit component. We’ll go through the ins and outs of creating Kafka producers and consumers in python, processing realtime data via windowing using FlinkSQL in Confluent Cloud, and visualizing that data clearly for an audience using a component built with Streamlit.

By the end of the talk, attendees will be confident in creating live data visualizations using Kafka, FlinkSQL, and Streamlit and be equipped to take their realtime use cases to the next level.

Data Engineering
Poalla
15:00
35min
¿Quién necesita datos teniendo distilabel?
Gabriel Martín Blázquez

¿Quieres hacer fine-tuning de un modelo o LLM para un caso de uso específico pero no tienes datos? Entonces distilabel es tu solución, la biblioteca que hemos estado utilizando en Argilla estos últimos meses y con la cual hemos generado varios datasets que han sido tendencia en el Hugging Face Hub.

distilabel es una biblioteca para la generación de datos de texto (por el momento solo texto) de manera sintética utilizando LLMs creada por Argilla. Los datasets generados con distilabel permiten hacer fine-tuning de otros modelos (model distillation) o incluso de la propia LLM que se utilizó para generar los datos (self-learning).

La biblioteca permite desarrollar una pipeline compuesta por varios pasos jerarquizados mediante un Directed Acyclic Graph (DAG). Cada paso puede realizar una transformación o filtrado en los batches de datos que reciben, para después devolverlo. La pipeline es ejecutada de manera paralela y con un sistema basado en batches: los datos de entrada de la pipeline se dividen en batches que van fluyendo a través de los pasos.

Además, la biblioteca cuenta con pasos especiales denominados tareas, que definen la lógica para realizar generación de datos o anotación de datos utilizando una LLM (integramos casi todos los "engines": OpenAI API, vLLM, Hugging Face Inference Endpoints, Hugging Face Transformers, etc).

En esta charla explicaré por que desarrollamos distilabel, como fue su desarrollo y hablaré de su interesante arquitectura en Python, que trata de maximizar y paralelizar la ejecución de la pipeline para que esta sea lo más rápida posible. Además, pondré varios ejemplos de como utilizar distilabel para generar datos para vuestros casos de uso.

GitHub: https://github.com/argilla-io/distilabel

Machine learning, stats
Saraiba
15:50
15:50
35min
Apache Kafka y Python en Feeberse: Streaming de datos en tiempo real
César Pérez

Feeberse es una innovadora red social dedicada 100% al mundo del fútbol. En la era actual, donde cada pregunta (request) debe ser respondida “al instante” (response), nos enfrentamos al desafío de gestionar el flujo de datos en tiempo real sin comprometer la experiencia del usuario.

Para abordar este reto, hemos implementado Apache Kafka como canal para el flujo de datos y Python para la lógica de negocio, utilizando el cliente Confluent Kafka.

Durante la charla, exploraremos varios casos de uso a los que nos hemos enfrentado, presentaremos ejemplos prácticos de instalación, fragmentos de código y una pequeña demo funcional.

Software packages
Orballo
15:50
35min
Cuando Python no es suficientemente rápido: el caso de NucliaDB
Javier Torres Niño, Ferran Llamas

NucliaDB es una base de datos que facilita la búsqueda en documentos mediante modelos de IA escrita, como no, en Python. Esto implica manipular vectores númericos grandes que es, lamentablemente, bastante lento en Python. Por eso, una parte de NucliaDB está escrita en Rust.

Pero... ¿cómo comunicamos Python con Rust? ¿cómo decidimos qué parte programamos en cada lenguaje? ¿de verdad merece la pena el jaleo de mezclar dos lenguajes en un mismo ejecutable? ¿no sería más fácil hacer microservicios? Estas son algunas de las preguntas que buscamos responder con esta charla.

NucliaDB es open source y todo el código de la charla está disponible en https://github.com/nuclia/nucliadb

SW Engineering & Architecture
Poalla
15:50
35min
Dulce introducción al Ruff
Elena M Codonyer, Ángel

Una buena calidad de código es fundamental para el mantenimiento a largo plazo de cualquier repositorio, para ello existen muchas reglas que quedan sujetas a la voluntad del desarrollador de implementarlas, para evitar esa subjetividad y establecer un estándar para todos los desarrolladores optamos por incluir herramientas que ayuden la a implementación de estas reglas.

Mejorando la calidad de código introduciendo Ruff, un nuevo linter y formateador, a nivel empresarial en un equipo de desarrollo ya establecido.
Cubriremos su implementación en nuestra empresa, desde la exploración inicial hasta los siguientes pasos. Además, presentaremos un caso práctico de estudio demostrando su efectividad.
Finalmente haremos una recapitulación de las lecciones aprendidas durante su implementación.

Software packages
Saraiba
15:50
35min
Una IA para levantar un imperio: optimizando una partida de Age of Empires 2 con Python.
Antonio Rodríguez Uguina, Juan Francisco Gómez González

La investigación operativa es el conjunto de técnicas que permiten modelar de forma matemática un sistema que se adhiere a unas restricciones, maximizando o minimizando una o varias funciones objetivo. Esta poderosa técnica se usa día a día en problemas de logística, asignación de turnos, planificación de la producción, gestión de inventarios, y muchos otros campos.

Sin embargo, esta charla aspira a presentar las técnicas aplicándolas a un tema completamente diferente (y quizás un poco más divertido). El Age of Empires 2 es un juego de 1999 que hoy en día se mantiene como uno de los juegos de estrategia con mayor reconocimiento. En él, el jugador debe llevar una civilización al dominio mundial a través de las épocas, recolectando diferentes recursos, progresando con nuevas tecnologías y atacando otras civilizaciones.

Usando este ejemplo, en la charla presentaremos un modelo de optimización aplicado al juego. Sabiendo que en el juego debemos tomar diferentes acciones como recolectar recursos y construir edificaciones para hacer avanzar nuestra civilización, crearemos un modelo que nos defina la serie de acciones óptima para hacerlo. Usando este ejemplo, explicaremos cómo se traslada una realidad a un modelo y enseñaremos las herramientas disponibles en Python y algunos ejemplos de código.

¿Como obtengo el mayor ejercito antes de 20 minutos? ¿Como consigo el mejor castillo antes que mi rival? Estos objetivos pueden ser modelizados mediante la modelización matemática, permitiendo además añadir restricciones a nuestras soluciones para que sean más adecuadas a nuestro objetivo.

Esta charla no solo busca demostrar la aplicabilidad de la investigación operativa en campos tradicionales, sino también su potencial para optimizar otros campos y actividades de entretenimiento como los videojuegos. Al aplicar técnicas de modelado matemático y optimización en el contexto de Age of Empires 2, se ofrece una perspectiva fresca y atractiva sobre cómo estas herramientas pueden ser utilizadas de formas innovadoras.

Machine learning, stats
Treboada
16:40
16:40
45min
Lightning talks ⚡

Las Lightning talks, o charlas relámpago, es una sesión de charlas de corta duración a un ritmo trepidante.

Other
Treboada
17:30
17:30
45min
Menos 'hype', más responsabilidad? Quien decide qué en el uso de datos y la IA
Anna

Vivimos tiempos sin precedentes en cuanto al ritmo y la escala del desarrollo tecnológico impulsado por los datos y los sistemas de IA. Este desarrollo y como se aplica está siendo dirigido y decidido por unos pocos en -todavía en gran medida- un vacío normativo, apoyado por discursos hiperbólicos y asimetrías de poder. Sin embargo, existe una comunidad amplia y diversa de desarrolladores y programadores en todo el mundo que puede ayudar a cambiar el rumbo si se niega a dejarse cegar por el bombo publicitario; si cuestiona las decisiones tomadas por unos pocos; si favorece la evidencia y la ética sobre la magia; y si trabaja en colaboración con el resto de la sociedad para responder a algunas de las preguntas más urgentes de nuestros tiempos sobre cómo los datos y la IA pueden utilizarse de forma responsable para ayudar a las personas a mejorar nuestras sociedades y el planeta.

Ethics in AI
Treboada
18:30
18:30
90min
Asamblea Python España

Asamblea General Ordinaria de Python España.

Other
Treboada
18:30
150min
Pinchos | Snack

Momento de descanso y comida al final del día.

Other
Poalla
18:30
150min
Pinchos | Snack

Pinchos | Snack

Other
Saraiba
18:30
150min
Pinchos | Snack

Pinchos | Snack

Other
Orballo
18:30
150min
Pinchos | Snack

Pinchos | Snack

Other
Neboeira
10:00
10:00
400min
Working area
Neboeira
10:00
35min
Cómo el Covid está fastidiando la predicción de series temporales y qué hacer para evitarlo
Jorge Raúl Gómez Sánchez, Mireya

Casi todas las series temporales tienen ahora algo en común: durante dos años se comportaron de forma extraña por culpa del Covid-19. Da igual que hablemos de las ventas de un supermercado, del consumo eléctrico, del tráfico de una carretera o del precio de la vivienda, todas ellas se han visto impactadas en mayor o menor medida, aunque no tengan directamente que ver con la pandemia. Los patrones temporales de prácticamente todas las series temporales muestran variaciones no predecibles diferentes de las de otros periodos, porque el comportamiento de todos nosotros cambió en muchos y diferentes ámbitos.
Esos dos años de excepcionalidad, que van desde marzo de 2020 hasta bien entrado 2022, dependiendo de la serie temporal que se analice, hacen que esos datos no sean una buena opción para entrenar modelos sin aplicarles ningún procesamiento adicional, pues los modelos aprenderán patrones que (esperemos) no se van a repetir en el futuro.
Por si fuera poco, desde que hemos vuelto a la normalidad, tenemos sólo 2 años de datos correctos, lo que es a todas luces insuficiente como para entrenar y validar un modelo en la mayoría de los casos. Los datos anteriores a 2020 sí que pueden ser válidos, dependiendo de la predicción que hagamos, pero tenemos un salto entre ellos y los actuales que evita un uso sencillo de los mismos. En ambos casos, el resultado es que no suele funcionar bien desestimar los datos de los dos años problemáticos.
En esta charla analizaremos las alternativas que tenemos para evitar que la predicción de series temporales, que ya de por sí tienen dificultades a superar, se transformen en insalvables por culpa del Covid-19. Veremos qué técnicas pueden servir en diferentes casos y qué técnicas no suelen ser una buena idea. Puede que esto sea un problema temporal hasta que la pandemia quede atrás, y la variación de los datos que supuso deje de afectar, pero hasta entonces nos quedan unos cuantos años de científicos de datos peleándose con series temporales especialmente complicadas.

Machine learning, stats
Saraiba
10:00
35min
Experimentando con Async en Python
Antonio Gámiz Delgado

El uso de programación asíncrono es cada vez más predominante en distintas aplicaciones de Python. Desde scrappers hasta servidores web, todas las aplicaciones limitadas por un gran volumen de operaciones de I/O se pueden ver enormemente beneficiadas por la introducción de asíncronia.

En esta charla veremos cómo el uso de async/await te permite escribir servidores web que pueden ejecutar tareas de forma concurrente, sin bloquear el proceso/hebra encargado de gestionar la petición web. Para ello, hablaremos sobre la historia de cómo ha evolucionado el soporte asíncrono en Python, y sobre la importancia de los Event Loops. También trataremos las distintas server gateway interfaces (WSGI/ASGI) disponibles para python, así como el papel de gunicorn/uvicorn en servidores web.

SW Engineering & Architecture
Treboada
10:00
400min
Hackatón

Esta hackatón está patrocinado por Newtral

RAG multimodal

Una ClaimReview es un estándar de metadatos para capturar información relevante sobre una verificación de datos (por ejemplo, título, imagen, calificación, afirmación…). Debido a que el documento de revisión combina texto y recursos multimedia, un buscador o chatbot de asistencia debe tener en cuenta no sólo la información textual, sino también toda la información que se puede extraer de los recursos multimedia (en nuestro caso, restringida a recursos de imagen).

En este contexto, el objetivo del desafío es construir un sistema MultiModal RAG (Retrieval-Augmented Generation) que, ante una pregunta formulada en texto o imagen:
- Recupere los candidatos más relevantes y
- genere una respuesta, considerando, en ambas fases, que las imágenes adjuntas al documento de claim reviews también pueden proporcionar información relevante.

Other
Espacio Xiada
10:00
35min
Python como herramienta artística en películas de animación
Jafet Villafranca, Carlos Rico Adega

El proceso de creación de una película de animación puede llegar a ser muy complejo, implicando a numerosos y diversos departamentos artísticos que necesitan de todas las facilidades posibles para llevar a cabo su labor. Desde la creación de los personajes hasta la composición final de los planos, Python es una herramienta más que nos permite ayudar a los artistas a implementar nuevos flujos de trabajo, optimizar procesos, e incluso automatizar tareas rutinarias.
Se dará una vista general de cómo se integran dichos desarrollos de Python en entornos de creación de contenido digital tales como Maya, Houdini, Nuke o Blender.

Videogames and design
Poalla
10:00
35min
Representación del Juego del Caos: Convirtiendo secuencias genéticas a imagenes
Javier Montoya Gutierrez de Ravé

En el ámbito de la metagenómica, el estudio del material genético, hay una gran dificultad cuando se tratan de procesar los datos con el uso de la Inteligencia Artificial. A la dificultad inherente de la rama genética, se le suma que estos datos son secuencias de nucleótidos, que se representan por las letras “A”, “C”, “G” y “T” y que, además, dependiendo del gen y la especie, pueden tener un tamaño desde cientos a millones de nucleótidos.
La naturaleza de estos datos limita las maneras en las que podemos analizarlos y los hace difíciles de poder ser estudiados con las técnicas mas modernas de ciencias de datos.
Durante esta charla, explicaré una técnica que permite codificar estos datos a imágenes: La Representación del Juego del Caos. Aunque el nombre pueda intimidar, se trata de una técnica simple pero muy funcional por la cual una secuencia de nucleótidos puede ser codificada a una representación gráfica en dos dimensiones. Estas representaciones tienen varias características útiles: son únicas para cada secuencia y permiten recuperar la secuencia original a partir de la imagen. Además, para secuencias lo suficientemente largas, comienzan a aparecer patrones en la imagen que las hacen más distinguibles e interesantes que las secuencias de las que se originan.
Mi objetivo durante la charla es presentar esta técnica y mostrar cómo puede ser desarrollada utilizando Python, ofreciendo ejemplos visuales de secuencias de nucleótidos antes y después de la codificación. Finalmente, expondré los resultados de un caso práctico en el que he participado. En este caso, el uso de esta técnica ha permitido introducir datos de pacientes con cáncer de colon en modelos clasificatorios de Redes Neuronales Convolucionales, logrando métricas de exactitud y precisión para la clase de interés superiores al 90%

Other
Orballo
10:45
10:45
30min
Pausa café | Coffee Break

Pausa en las charlas. Se dispondrán mesas con snacks, café, bebidas y demás. Un espacio ideal para comentar ponencias, poner conocimiento en común y hacer networking.

Coffee Break
Treboada
10:45
30min
Pausa café | Coffee Break

Pausa en las charlas. Se dispondrán mesas con snacks, café, bebidas y demás. Un espacio ideal para comentar ponencias, poner conocimiento en común y hacer networking.

Coffee Break
Poalla
10:45
30min
Pausa café | Coffee Break

Pausa en las charlas. Se dispondrán mesas con snacks, café, bebidas y demás. Un espacio ideal para comentar ponencias, poner conocimiento en común y hacer networking.

Coffee Break
Saraiba
10:45
30min
Pausa café | Coffee Break

Pausa en las charlas. Se dispondrán mesas con snacks, café, bebidas y demás. Un espacio ideal para comentar ponencias, poner conocimiento en común y hacer networking.

Coffee Break
Orballo
11:15
11:15
35min
Cómo destruir el mundo usando Python y un virus sintético
Marina Moro López, Helena Gómez Pozo

¿Nos creerías si te dijéramos que podemos crear un virus potencialmente peligroso usando Python? Esto es teóricamente posible gracias a la biología sintética, el campo de la biotecnología que estudia cómo crear y modificar organismos. Esta disciplina se usa, por ejemplo, para modificar bacterias genéticamente para que produzcan la insulina que después consumirán las personas diabéticas. Evidentemente, una herramienta tan potente, tiene su posible lado malvado, que es el que exploraremos en esta charla. Tras una mini clase de biología y genética, explicaremos un ejemplo práctico de cómo usar la biología sintética a través de un script de Python para modificar un virus existente y convertirlo en un virus mortal. Así, tú como asistente podrás ver el potencial de este campo y cómo Python puede hacerlo más fácil, no sólo en el ejemplo del virus malvado, sino también en otras aplicaciones sanitarias.

Scientific and quantum computing
Poalla
11:15
35min
Navigating the ESG landscape with LLMs
Vincent Rizzo, Martín Quesada Zaragoza

In the evolving landscape of corporate reporting, processing large amounts of unstructured data is crucial to aligning companies' Environmental, Social, and Governance (ESG) strategies with the challenges brought by climate change and social injustice. The latest European sustainability reporting directive (CSRD) requires companies to disclose clearly their impacts, risks, and opportunities in terms of ESG.
Using a variety of NLP techniques, enhanced by state-of-the-art text generation models, we will show how to automatically scan through thousands of reports and extract relevant information, best practices, and potential risks or opportunities.
This session will illustrate a real-world case study on the ESG landscape using different Natural Language Processing (NLP) techniques. By leveraging zero-shot Text classification, sentiment analysis, Named Entity Recognition (NER), clustering on top of matryoshka embeddings and Topic Modelling, we can improve the insights and decision-making. In addition, we will present how to take advantage of the latest advances in Generative AI.
This presentation will be particularly valuable for data scientists, ESG analysts, and Python enthusiasts interested in the intersection of AI and sustainable business practices. The main takeaways that you will get from this presentation include:
- Gaining insights into how topic modelling with Bertopic can be used in corporate ESG initiatives.
- Discovering how clustering techniques help tailor insights about Impact, Risks and Opportunities from large ESG reports.
- Understanding the role of matryoshka embeddings for enhancing the latency when processing ESG-related texts.
- Understanding the role of Generative AI in extracting actionable insights from vast amounts of ESG data.

Deep Learning
Orballo
11:15
35min
RPA, TDD, and Embedded: A world glued together with Python!
Javier Alonso

Do you know what RPA means? Or TDD? Or "embedded"? At least, for sure, you know what Python is 😉.

"RPA" stands for "Robotic Process Automation", whereas "TDD" stands for "Test Driven Development". Those words usually refer to either the testing process or the automation of it. In the embedded world - the microcontroller one - it is usually easy to test features unitarily, but hard to test them working within a bigger system.

Therefore... What is this everything about? In this talk Robot Framework is introduced as the tool to integrate almost everything! Firstly, Robot Framework is introduced: Explain its purpose, semantics, basic writing, etc. Then, we will dig a little into it and how to maximize its potential by tweaking the internal libraries and writing our own ones. Next, we will simulate a real embedded device which we require some integration testing: Exchange some messages, evaluate an external request, etc. And finally, we will glue all this together with Robot Framework!

Sounds interesting, right? Jump into this initialization talk for you to get introduced - or acquire more knowledge - into the embedded and testing world.

Microcontrollers and IoT
Saraiba
11:15
35min
Tipos, tipos, y otros tipos de tipos
Daniel Moisset

Desde su primera versión en 1991, Python es un lenguaje con tipos dinámicos y fuertes. Python 3.0 agregó la capacidad de enriquecer las signaturas de funciones con información sobre tipos. Y 3.5 incorporó soporte para tipos estáticos.
Las últimas tres oraciones usan la palabra “tipos”, pero en cada una de ellas el término se refiere a entidades diferentes. A los desarrolladores en Python nos importan los “tipos”, pero la palabra en sí es muy ambigua. A veces podemos ignorar un poquito esa ambigüedad, pero no siempre.
En esta presentación exploraré muchos de los diferentes significados de la palabra “tipo” en Python , y explicaré por qué esas diferencias nos importan. La discusión comparará “type objects”, tipos estáticos, anotaciones de tipos, esos objetos divertidos que podemos encontrar en los módulos “typing” y “types” de la biblioteca estándar, y algunas otras cosas llamadas “type”. Esta charla no es una introducción, y presupone que tienes alguna familiaridad con algunos de estos tipos, al menos a través del uso.
Espero que de esta sesión te lleves claridad de cuáles contextos permiten cada variante de tipo, cómo se puede deducirlo, y porqué Python fue diseñado de este modo.

Core
Treboada
12:05
12:05
35min
Asegurando la calidad del dato con Databricks
Antonio, José Manuel García Giménez

Recientemente la empresas están poniendo el foco en la gobernanza datos, esto es un reflejo del incremento de soluciones basadas en datos, especialmente para cuando hablamos de inteligencia artificial.

Uno de los pilares fundamentales en la gobernanza de datos es la calidad del dato, que debe de tenerse en cuenta a la hora de diseñar nuestra estrategia de datos, para asegurar la trazabilidad y calidad de los datos en sus soluciones.

En la charla, explicaremos las seis dimensiones de la calidad de los datos y los mecanismos que Databricks y el formato Delta ofrecen para mitigar esta problemática. Demostraremos cómo utilizar y combinar estos elementos para mejorar la calidad de datos en un entorno Lakehouse, garantizando la precisión y fiabilidad de los datos.

Data Engineering
Treboada
12:05
35min
Outfit Generator: Intersección entre la Moda y la IA en Zara.com
CLARA MARTÍ, Adrian Portabales Goberna

En Inditex buscamos ofrecer la mejor propuesta de moda y las mejores experiencias a nuestros clientes, y lo hacemos de la mano de la Tecnología. ¿Cómo lo hacemos? Nos apoyamos en data y IA para analizar y optimizar procesos, mejorar la eficiencia, y proporcionar recomendaciones precisas, entre otras cosas.

En el ámbito del e-commerce, es fundamental crear una experiencia única. Esto implica ofrecer recomendaciones personalizadas, reducir el tiempo de búsqueda y priorizar los gustos y deseos de nuestros clientes. Por tanto, construir outfits de calidad y asegurarnos de que cada conjunto sea adecuado para cada cliente es esencial en nuestros sistemas de recomendación de moda.

Conceptualmente, un outfit es una colección armónica de prendas de distintas categorías. La compatibilidad de un outfit evalúa si los múltiples ítems combinan adecuadamente en términos de aspecto visual, estilo, color, etc. No obstante, no es un cálculo sencillo debido a su implicación subjetiva, las numerosas variables y categorías, y la interrelación entre ellas.

Hasta ahora el proceso de generación de un outfit era manual, costoso y dependía en gran medida del conocimiento de expertos en moda, lo que dificultaba su escalabilidad. La solución propuesta consiste en un sistema de recomendación de moda que emplea modelos de deep learning. Estos modelos modelan y predicen la compatibilidad de los looks, con la capacidad de generar conjuntos completos a partir de prendas iniciales.

Nuestro enfoque aplica tanto redes CNN como arquitecturas Transformer modernas. Con ellas conseguimos tratar el problema no solo como una tarea de clasificación binaria, sino como un problema de regresión, proporcionando puntuaciones de compatibilidad más detalladas, siendo capaces de detectar las prendas incorrectas que devalúan el outfit.

En esta presentación hablaremos sobre :
La solución y cómo hemos conseguido la puesta en producción en nuestros e-commerce, con millones de peticiones por minuto. Siendo Python el lenguaje de desarrollo.

También debatiremos sobre aspectos críticos como la escalabilidad, latencia, e integración continua de modelo con dichas capacidades. Permitiendo así una experiencia de usuario única, logrando la compatibilidad y consistencia de las recomendaciones.

La presentación será accesible para una amplia audiencia, ya que no requerirá de un profundo conocimiento técnico previo. No obstante, se recomienda tener cierta familiaridad con los conceptos básicos de inteligencia artificial para aprovechar al máximo la sesión.

Deep Learning
Saraiba
12:05
35min
Python <3 WebAssembly - From Browser to Serverless
Gaurav Pandey, Shivay Lamba

This talk will cover how WebAssembly is moving beyond the browser and is pitched to become a foundational element of cloud-native server apps and serverless applications.

SW Engineering & Architecture
Poalla
12:05
35min
Un lector de pantalla para gobernarlos a todos: usando NVDA como plataforma de automatización y desarrollo de apps para Windows
Ramón Corominas

Si no tienes problemas de visión lo más probable es que no sepas lo que es un lector de pantalla; o quizá sepas que es un programa que usamos las personas con discapacidad visual para manejar el ordenador o el móvil. Tal vez incluso hayas visto alguna demo o a alguna persona ciega usándolo, pero eso solo te confirma que los lectores de pantalla no están hechos para ti y que en tu caso no te aportarán nada. En esta charla quiero enseñarte lo equivocado de ese pensamiento y las muchas formas en las que puedes sacarle provecho a este tipo de herramientas aunque veas perfectamente.

NVDA es un lector de pantalla de código abierto para Windows basado en Python. Además de las funcionalidades incorporadas de serie en su núcleo, NVDA también dispone de un sistema de complementos que permiten extender sus capacidades mucho más allá de su propósito original.

Mediante un conjunto de librerías y APIs podrás acceder fácilmente a objetos y eventos del sistema, gestionar atajos de teclado y gestos táctiles o de puntero, reproducir sonidos, anejar el portapapeles o la pantalla, e incluso crear aplicaciones completas integrando tus propias librerías Python. Esta combinación de potencia y flexibilidad convierten a NVDA en la plataforma perfecta para automatizar tareas o añadir todo tipo de utilidades al sistema que aumentarán tu productividad y te harán la vida digital mucho más fácil.

Y, de paso, quizá consiga atraerte al «lado oscuro» y que te animes a compartir tus complementos con la comunidad para que otras personas con discapacidad visual también se beneficien de tus creaciones 😉 ¡Apúntate y descubre todo lo que puedes hacer con NVDA y Python!

Desktop applications
Orballo
12:55
12:55
35min
El Gran Tsunami de la Desinformación: Cómo la IA generativa puede ayudarnos a ganar la batalla contra las Fake News
Rubén, Agustín C.

Si cada día se consumen millones de contenidos falsos (elecciones, covid, Ucrania, Gaza...) creados con el propósito de manipular nuestra opinión, ¿qué ocurrirá con la explosión provocada por la IA generativa?¿De quién o de qué podremos fiarnos en internet en un futuro en el que nuestros ojos no podrán diferenciar si algo es o no cierto? Si hasta ahora habíamos vivido oleadas de desinformación, deberíamos empezar a prepararnos para el Gran Tsunami que está por venir.

En un escenario marcado por la creciente dificultad para diferenciar lo que es verdad de lo que no, los verificadores humanos son incapaces de procesar el enorme volumen y la sotisficación de desinformación que circula online. Necesitamos construir soluciones que ayuden en esta tarea y necesitamos hacerlo ya.

Mientras que muchas personas ven la IA generativa como el gran peligro, nosotros creemos que es el arma que nos permitirá luchar contra la desinformación de tú a tú. Las capacidades de los nuevos LLMs (GPT, Gemini, Claude…) para razonar sobre el texto y manejar contenido multimodal y/o multilingüe, nos ofrecen una oportunidad única para desarrollar una nueva generación de agentes inteligentes que ayuden a combatir la desinformación.

Como fact-checkers especializados en el desarrollo de tecnología, en los últimos cinco años hemos probado las distintas tecnologías que han ido apareciendo en este ámbito: reglas lingüísticas, frameworks clásicos de NLP, algoritmos de ML tradicional, modelos de Deep Learning y, ahora, LLMs generativos; con un único objetivo: ser capaces de replicar, en parte, el trabajo que hacen en su día a día nuestros compañeros periodistas.

En esta charla, explicaremos al público cómo hemos implementado nuestros pipelines de datos y análisis/verificación de la desinformación utilizando Python. Nuestro objetivo es mostrar, de manera didáctica y amena, los principales éxitos y fracasos en la construcción de estas tecnologías. Explicaremos cómo pueden trabajar codo a codo periodistas y data scientists en un mismo problema (sin morir en el intento), enseñaremos demos de las PoC desarrolladas hasta la fecha, dedicando un apartado especial a exponer nuestra visión, desde nuestra experiencia en el ámbito, sobre las nuevas soluciones que están por venir en este campo (arquitecturas multi-agente) y cómo pensamos utilizarlas para acabar ganando la batalla contra la desinformación.

El público se irá de la charla con una idea clara del problema que estamos combatiendo, cómo construir agentes inteligentes con Python y las posibilidades/limitaciones de los sistemas actuales.

Deep Learning
Poalla
12:55
35min
El modelo más importante
Naomi Ceder

Actualmente todo el mundo está hablando de LLM y otros modelos en ciencia de datos. Todo el mundo se procupa por entrenarlos y están especulando sobre sus poderes, incluse usándolos para escribir código, muchas veces sin entender qué son realmente y cómo funcionan.

Como ingresamos a este nuevo mundo de modelos de AI, el modelo más importante es el modelo que construimos en nuestra mente, nuestro modelo mental de cómo funciona el código de Python, y cómo funcionan nuestras herriamientas. Este modelo mental es vital para que utilicemos bién nuestars herriamients, y solucionemos los problemas cuando las cosas salen mal.

Esta charla ustilizarǻ un modelo mental común y básico para analizar qué son los modelos mentales, cómo se forman y cómo podemos contruir, probar y mejorar nuestros propios modelos.

Education, teaching & further training
Orballo
12:55
35min
Haciendo tu signup extensible y con una UX xeitosiña
Pablo Castro

Los flujos de signup y login nunca han sido "atractivos", al final como ingenieros e ingenieras nos gusta hacer producto y nos parece que estos flujos son un mal necesario que hay que hacer y no volver a tocar.

Pero cuando tu startup se gasta una millonada en atraer usuarios a tu producto, este flujo se vuelve importantísimo, la UX es clave y el poder iterar y cambiar cosas habitualmente ayudará muchísimo a tus equipos de ventas y marketing.

Empresas como Airbnb o Uber tienen equipos enteros de ingeniería y producto dedicados a construir, mantener y optimizar sus flujos de signup y login, asique, ¿por qué en nuestros equipos no nos preocupamos por ellos desde el principio?

En esta charla veremos cómo evolucionan estos flujos a lo largo del tiempo a través de ejemplos reales, y daremos consejos para diseñar nuestros flujos siguiendo las mejores prácticas y siempre con un ojo puesto en la extensibilidad y en la UX.

SLIDES:
https://cloud.ssaavedra.eu/s/Y7La4An8HSXkEZy

Web
Treboada
12:55
35min
Smooth Migration: Upgrading a Large Codebase to Pydantic V2
Alejandro Cabello Jiménez

In this talk, we will explore the process of upgrading a large codebase from Pydantic V1 to V2, focusing on practical steps, challenges, and strategies involved.
We will cover how to manage breaking changes, optimise the migration process, and ensure backward compatibility with minimal disruption to the existing system.
Key focus areas will include refactoring, testing strategies, and performance improvements in Pydantic V2.
By the end of the session, you'll gain actionable insights and best practices to manage smooth migrations in complex codebases, ensuring a successful transition to the latest version of core libraries like Pydantic.

SW Engineering & Architecture
Saraiba
13:30
13:30
90min
Almuerzo | Lunch break

Pausa de 90 minutos de duración. Se servirán distintos menús para reponer fuerzas. Ocasión ideal para hacer comunidad.

Other
Treboada
13:30
90min
Almuerzo | Lunch break

Pausa de 90 minutos de duración. Se servirán distintos menús para reponer fuerzas. Ocasión ideal para hacer comunidad.

Other
Poalla
13:30
90min
Almuerzo | Lunch break

Pausa de 90 minutos de duración. Se servirán distintos menús para reponer fuerzas. Ocasión ideal para hacer comunidad.

Other
Saraiba
13:30
90min
Almuerzo | Lunch break

Pausa de 90 minutos de duración. Se servirán distintos menús para reponer fuerzas. Ocasión ideal para hacer comunidad.

Other
Orballo
15:00
15:00
35min
Flujos de trabajo con agentes de IA en Python
Rafael Mena-Yedra, Manuel Díaz, Borja Esteve Molner

La adopción de modelos fundacionales pre-entrenados con grandes cantidades de datos ha impulsado una transformación radical en prácticamente cualquier disciplina, tanto en el ámbito académico como empresarial. En este sentido, el acceso a estos modelos mediante interfaces de texto ha sido fundamental para ampliar su uso a un amplio espectro de usuarios. Además, estos modelos han demostrado un gran éxito en la identificación de patrones y estructuras complejas del lenguaje humano.

La integración de interfaces humano-máquina mediante lenguaje natural está impulsando una nueva generación de patrones de diseño y uso. En este enfoque, múltiples inteligencias artificiales colaboran con apoyo humano opcional para iniciar tareas o supervisarlas, logrando así mayor autonomía y eficacia.

La nueva generación de diseño se ha denominado AI agentic workflows o flujos de trabajo basados en agentes de IA. Estos flujos se fundamentan en cuatro criterios principales: reflexión, uso de herramientas, planificación y colaboración multiagente. En lugar de que un solo modelo (como un gran modelo de lenguaje LLM) genere directamente el resultado final, el objetivo es que el flujo de trabajo realice múltiples solicitudes a ese modelo o a un conjunto colaborativo de modelos especializados, incluyendo el uso de herramientas.

En esta charla se presentarán casos de uso en los que un flujo de trabajo con agentes de IA puede ser la solución más apropiada. También se abordará cuándo es más eficiente seguir un patrón de ejecución predefinido. Durante la charla, exploraremos flujos de trabajo, el uso de herramientas y la colaboración entre agentes mediante código en Python. Además, se mostrará un ejemplo real de programación en el que diferentes agentes colaboran en tareas como desarrollo, revisión y optimización, aprovechando herramientas como el intérprete de Python y la búsqueda web.

Para esta charla no se requieren conocimientos previos de estadística ni deep learning, y tan sólo unos conocimientos básicos de Python para seguir los fragmentos de código que se expongan. En cualquier caso, cualquier público puede verse beneficiado dado que nuestro objetivo es proporcionar a la audiencia una visión general del estado del arte en el desarrollo de flujos de trabajo utilizando agentes, y ofrecer herramientas y fragmentos de código en Python que puedan inspirar sus propias soluciones.

Deep Learning
Treboada
15:00
35min
Open space 👥🗣

Espacios de discusión sobre cualquier temática - siempre que cumpla el código de conducta. Más información en Discord.

Open spaces to talk about any topic - it must follow the code of conduct. More info at Discord.

Other
Orballo
15:00
35min
Oxidando Python para acelerar la Computación Cuántica
Diego Moreda

Qiskit es un framework open-source para Computación Cuántica. Desde su primer commit en 2017 y tras extender su funcionalidad gracias a las colaboraciones de cientos de personas, en los últimos tiempos hemos puesto el foco en mejorar su eficiencia: un camino que nos ha llevado a reescribir en Rust diferentes piezas, combinando las ventajas de un interfaz Pythónico y extensible con las bondades de un lenguaje compilado y seguro, e integrándolas de forma transparente en el resto del framework. Queremos compartir las lecciones aprendidas durante este viaje, y cómo las optimizaciones en computación "clásica" han ayudado a los usuarios y desarrolladores a entrar en la era de la Utilidad Cuántica.

En esta charla se introducirá el contexto de la Computación Cuántica y el papel de Qiskit en ella, y cómo han evolucionado de la mano. A continuación se pondrá el foco en las técnicas utilizadas en Qiskit para identificar y resolver los cuellos de botella iniciales, y los patrones y mecanismos empleados para mejorar el rendimiento de componentes clave (basados en Rust / PyO3 y componentes reusables), a través de ejemplos que ilustren las técnicas utilizadas.

No es necesario tener conocimientos previos de Computación Cuántica o de Rust para esta charla: sólo es necesaria curiosidad sobre cómo optimizar el rendimiento e interés en integración entre lenguajes.

Scientific and quantum computing
Poalla
15:00
35min
Para desplegar tengo que coger el coche
Francisco Puga

Que levante la mano quien tenga una anécdota que contar sobre despliegues "interesantes". En nuestro caso tenemos que coger el coche y conducir hasta una pequeña comunidad rural de El Salvador.

Pero lo que podría ser un relato de terror es en realidad una historia de éxito.

Cómo pythonistas sabemos lo importante que es el Software, y hemos trabajado duro para que llegue a todo el mundo. ¿O no?. ¿Cuantas personas u organizaciones no pueden acceder al SaaS que solucionaría todos sus problemas porqué no tienen tarjeta de crédito?.

A través de anécdotas divertidas, experiencias reales y preguntas para las que no tengo respuesta veremos como es el desarrollo (de software) para países empobrecidos, y su importante en los procesos de desarrollo (humano).

Community, society and culture
Saraiba
15:50
15:50
35min
Aprende Aprendizaje por refuerzo jugando a Doom
Nadal, Óscar Tienda Beteta

Los impresionantes avances en el campo del Deep Learning y redes neuronales basadas en el contexto de visión de los videojuegos han demostrado poder crear controladores de nivel humano en los juegos de Atari 2600 a partir de datos visuales (píxeles). Sin embargo, la mayoría de juegos de Atari 2600 son en tercera persona y en entornos bidimensionales no realistas. Este hecho limita la aplicación de estas tecnologías en otros entornos.

Para superar este desafío, nos complace presentaros ViZDoom, una revolucionaria plataforma de prueba que utiliza información visual pura y ofrece una perspectiva en primera persona en un entorno tridimensional semi-realista. Basada en el legendario juego de disparos en primera persona, Doom, ViZDoom permite desarrollar bots capaces de jugar al juego utilizando únicamente el búfer de pantalla, proporcionando una herramienta ligera, rápida y altamente personalizable.

Gracias a la combinación de redes neuronales convolucionales, Q-learning y reproducción de experiencias, hemos logrado entrenar bots altamente competentes. Estos bots no solo muestran comportamientos parecidos a los humanos sino que también confirman la viabilidad del aprendizaje por refuerzo visual en entornos semi-realistas de primera persona en 3D.

Dentro de este contexto, contaremos cómo surgió la idea, el motivo de porque se ha elegido Doom y no otros videojuegos, diferentes escenarios de prueba (movimientos básicos, disparos, recolección de objetos en un laberinto), parámetros y resultados, métricas de rendimiento y, finalmente, los usos reales que se le puede dar.

Deep Learning
Saraiba
15:50
35min
El poder de la observabilidad en Machine Learning
Sara, Christian

¿Cuántas veces has realizado un proyecto de Machine Learning completo y una vez finalizado el comportamiento no es el deseado? ¿Y cuántas de esas veces no somos capaces de encontrar el origen de dichos problemas para solucionarlos?

La observabilidad en Machine Learning es la capacidad de obtener información sobre el rendimiento de nuestro modelo durante todos los pasos de Machine Learning. Cuando trabajamos en Machine Learning, tenemos claros los pasos a seguir, como la lógica de negocio, análisis de datos, entrenamiento y despliegue, todo ello por supuesto bajo las prácticas de MLOps. Incluir observabilidad en nuestros proyectos de Machine Learning nos permitirá detectar errores, encontrar su origen y subsanarlos lo antes posible para su mejora continua.

En esta charla hablaremos sobre qué es la observabilidad en Machine Learning y por qué es importante en nuestros proyectos. Veremos cómo podemos trabajar para obtener un sistema observable y aprenderemos como aplicar dichas técnicas en los distintos pasos de un proceso de Machine Learning.

Machine learning, stats
Treboada
15:50
35min
Open space 👥🗣

Espacios de discusión sobre cualquier temática - siempre que cumpla el código de conducta. Más información en Discord.

Open spaces to talk about any topic - it must follow the code of conduct. More info at Discord.

Other
Orballo
15:50
35min
Python bajo el agua. Aplicaciones pyhon para vehículos submarinos.
ignacio gonzalez

La oceanografía operacional es una disciplina que se enfoca en la observación, modelado y predicción de las condiciones oceánicas en tiempo real. Utiliza datos de satélites, boyas, vehículos y modelos numéricos para monitorizar y predecir fenómenos como corrientes marinas, temperatura del agua o niveles de salinidad. Su objetivo es proporcionar información útil para la navegación, la pesca, la gestión costera y la respuesta a emergencias en el mar.

Los ROV (Vehículos Operados Remotamente) se utilizan en oceanografía operacional para explorar y estudiar áreas submarinas de difícil acceso para los humanos. Estos dispositivos pueden recopilar datos detallados sobre el fondo marino, la vida marina y las condiciones del agua en tiempo real. Su uso en la oceanografía operacional permite obtener información crucial para la investigación científica, la exploración de recursos marinos y la monitorización del medio ambiente marino.

Estos vehículos normalmente son operados por grandes empresas y caros. Pero desde hace unos años, se ha "democratizado" su uso por medio de nuevas empresas que han sacado modelos bajo el concepto de modelo "abierto".. mas o menos.

Bajo este contexto, lo que se necesita es desarrollar un ecosistema sensórico sobre un vehículo ROV que extienda el uso proporcionado por el modelo base a niveles mas complejos y que proporcione mas información que la integrada y que nos de capacidades de ampliación futura.

Hay multitud de sensores en oceanografía, y hay que integrarlos todos para darles cohesión espacio-temporal para posteriormente poder hacer análisis mas completos sobre los datos.

Explicaremos las herramientas necesarias para desarrollar módulos en ROS2 (en python), veremos ejemplos reales de integración y mostraremos como realizar interfaces gráficas que muestren estos datos adquiridos de manera mas amigable.

Microcontrollers and IoT
Poalla
17:00
17:00
30min
Cierre | Closing

Cierre del evento.

Other
Treboada