Cuando dices que tu TFG es de IA todo el mundo reacciona igual: «oooh,
qué guay». Y sí, es guay. Pero también es las 2 de la mañana mirando
un error que dice «File not found» cuando el archivo CLARAMENTE existe.
Aquí van las cosas que nadie te cuenta antes de meterte en esto.
Los modelos no se cargan y punto.
Mi modelo estaba guardado en formato Keras 2 pero mi entorno tenía
Keras 3. Incompatibles. Tuve que aprender a convertir el archivo
manualmente, capa a capa, copiando pesos de una versión a otra como
si estuviera trasplantando órganos. Funcionó. No preguntes cómo.
Las rutas relativas son el enemigo.
El script busca «models/mejor_modelo.keras». Python lo busca desde
donde tú ejecutas el script, no desde donde está el archivo. ¿Son
el mismo sitio? A veces no. ¿Lo descubres a tiempo? Raramente.
La solución: os.path.abspath(file). Apréndetela. Tatuatela si hace falta.
El mayor descubrimiento no fue el que esperabas.
Pasé semanas ajustando la arquitectura de la red neuronal, probando
distintas configuraciones de clustering, experimentando con UMAP y PCA.
Y la mejora más grande vino de cambiar cómo normalizaba los datos antes
de pasárselos al modelo. RobustScaler en lugar de StandardScaler.
El Silhouette Score pasó de 0.38 a 0.95. Casi me caigo de la silla.
1.860 audios tardan en procesarse.
Mucho. Cuando dices que el proceso «se ha quedado parado» a veces
simplemente está trabajando. Otras veces realmente se ha quedado parado.
Distinguir cuándo es cuándo es parte del oficio.
Al final merece la pena.
Cuando el sistema clasifica correctamente una emoción en un audio real,
cuando los clusters se forman solos y tienen sentido, cuando los números
dicen «Excelente» en las tres métricas… todo lo demás se olvida.
Bueno, casi todo. Los errores de las 2 de la mañana no se olvidan nunca.