
Proyecto Fei-Fei — Sesión 1: presentación
Con Proyecto Javierre y Proyecto Asadi aprendimos a trabajar con datos tabulares y con imágenes médicas reales — pero también vimos que las imágenes reales traen líos: descargas pesadas, carpetas que organizar, algún archivo corrupto por el camino. Hoy arrancamos un bloque nuevo, sin ninguna relación con la leucemia, pensado para quedarnos solo con lo esencial de las redes neuronales convolucionales: cómo se entrenan, cómo se guardan y cómo se reutilizan.
Por qué se llama Proyecto Fei-Fei
Por Fei-Fei Li, profesora de Stanford y una de las figuras más influyentes de la inteligencia artificial moderna. En 2007 creó ImageNet, una base de datos de más de 14 millones de imágenes clasificadas en 22.000 categorías, y con ella impulsó el concurso ILSVRC — el mismo que hizo que, en solo seis años, el error de los mejores sistemas de reconocimiento de imágenes cayera de más de un 26% a menos de un 2,3%. Ese concurso es la historia que hay detrás de las arquitecturas CNN que iréis conociendo (LeNet, AlexNet, GoogLeNet, ResNet). La apodan “la madrina de la IA” (“godmother of AI”), apodo que ella misma acepta como forma de reconocer la contribución de las mujeres al campo. Sigue en primera línea: en 2026 lidera World Labs, una empresa centrada en que las máquinas entiendan espacios en tres dimensiones.
Una aclaración honesta: el dataset que vamos a usar en este bloque no lo creó ella — lo veremos en el siguiente apartado. Pero la razón de que hoy sepamos entrenar una CNN con garantías es, en buena parte, la historia que ImageNet puso en marcha, así que el nombre le queda que ni pintado.
De dónde vienen las imágenes: Fashion-MNIST
Vamos a trabajar con Fashion-MNIST, creado en 2017 por Han Xiao, Kashif Rasul y Roland Vollgraf, investigadores de Zalando Research (el equipo de investigación de la tienda de ropa online alemana Zalando). Lo hicieron porque el dataset clásico para aprender IA — dígitos escritos a mano (MNIST) — se había vuelto demasiado fácil: cualquier modelo mínimamente decente pasaba del 99% de acierto, así que ya no servía para comparar métodos nuevos. Fashion-MNIST tiene el mismo formato exacto (mismo tamaño, mismo número de imágenes) pero con fotos reales de prendas de ropa del catálogo de Zalando, un problema algo más difícil y mucho más parecido a un caso de uso real: clasificar automáticamente fotos de producto en una tienda online, algo que cualquier tienda con miles de artículos nuevos cada semana necesita hacer a una escala que ninguna persona podría revisar a mano.
Datos concretos del dataset:
- 70.000 imágenes en blanco y negro, de 28×28 píxeles — mucho más pequeñas que las de Proyecto Asadi (224×224), así que entrenan muchísimo más rápido.
- 10 categorías de ropa, perfectamente equilibradas (6.000 imágenes de cada una en el conjunto de entrenamiento): camiseta/top, pantalón, jersey, vestido, abrigo, sandalia, camisa, zapatilla, bolso y botín.
- 60.000 imágenes para entrenar y 10.000 reservadas para examen — ya vienen separadas así de fábrica.
- Licencia MIT (uso libre) y viene integrado directamente en Keras, sin que haga falta descargar nada de Kaggle ni descomprimir zips.
Por qué es un buen sitio para practicar
A diferencia de una célula benigna o maligna, aquí cualquiera de vosotros distingue una zapatilla de un abrigo con solo mirarla — no necesitáis IA para eso. Lo que hace valioso este dataset no es la dificultad de cada imagen suelta, sino la escala: nadie va a revisar a mano 70.000 fotos, y menos aún las miles de fotos nuevas que sube una tienda online cada semana. Además, al no tener ninguno de los líos de Asadi (sin descargas, sin desequilibrio de clases, sin archivos corruptos), este bloque nos deja concentrarnos en dos cosas que en Asadi no nos dio tiempo a ver con calma: probar arquitecturas de CNN algo más completas, y aprender a guardar el modelo ya entrenado para no tener que reentrenarlo cada vez que abrimos el cuaderno — el problema que sufristeis en la Sesión 5 de Asadi.
Cómo preparar el ordenador antes de la próxima sesión
Aquí viene la parte fácil: si ya tenéis tensorflow instalado de Proyecto Asadi, no hace falta instalar nada más. La propia librería descarga Fashion-MNIST la primera vez que la pedís (unos 30 MB, se queda guardada en vuestro ordenador para las siguientes veces).
Primer vistazo a las imágenes
from tensorflow import keras
import matplotlib.pyplot as plt
import numpy as np
(x_entrenamiento, y_entrenamiento), (x_prueba, y_prueba) = keras.datasets.fashion_mnist.load_data()
print("Forma de x_entrenamiento:", x_entrenamiento.shape)
print("Forma de x_prueba:", x_prueba.shape)
nombres_clases = ["Camiseta/top", "Pantalón", "Jersey", "Vestido", "Abrigo",
"Sandalia", "Camisa", "Zapatilla", "Bolso", "Botín"]
# Cuántas imágenes hay de cada categoría
valores, conteos = np.unique(y_entrenamiento, return_counts=True)
for v, c in zip(valores, conteos):
print(f"{nombres_clases[v]}: {c} imágenes")
# Un vistazo a las 10 primeras imágenes del conjunto de entrenamiento
fig, ejes = plt.subplots(2, 5, figsize=(12, 5))
for i, ax in enumerate(ejes.flat):
ax.imshow(x_entrenamiento[i], cmap="gray")
ax.set_title(nombres_clases[y_entrenamiento[i]], fontsize=9)
ax.axis("off")
plt.tight_layout()
plt.show()
Fijaos en la forma de x_entrenamiento: (60000, 28, 28) — 60.000 imágenes, cada una una cuadrícula de 28×28 números (un valor de gris por píxel, de 0 a 255). Ni una sola columna de “clase” que rellenar a mano, ni carpetas que organizar: Keras ya os entrega las imágenes y sus etiquetas juntas, listas para usar.

Próximo paso
Con los datos ya cargados y vistos, en la próxima sesión construimos nuestra primera CNN para Fashion-MNIST — más completa que la de Asadi, ya que aquí no tenemos que preocuparnos por el desequilibrio de clases ni por archivos corruptos — y, por fin, aprendemos a guardar el modelo entrenado para no tener que repetir el entrenamiento cada vez que retomamos el cuaderno.
Slug: proyecto-feifei-sesion-1-presentacion Extracto: Arranca el Proyecto Fei-Fei, en honor a Fei-Fei Li, creadora de ImageNet: el alumnado conoce el dataset Fashion-MNIST (70.000 fotos de ropa de Zalando) y hace un primer vistazo a las imagenes con Keras, sin descargas ni carpetas que organizar. Palabras clave: aidarac, montesteam, proyecto fei-fei, fashion mnist, redes neuronales convolucionales, cnn, keras, imagenet, fei-fei li, ciencia de datos
Proyecto Fei-Fei — Sesión 1: presentación
Con Proyecto Javierre y Proyecto Asadi aprendimos a trabajar con datos tabulares y con imágenes médicas reales — pero también vimos que las imágenes reales traen líos: descargas pesadas, carpetas que organizar, algún archivo corrupto por el camino. Hoy arrancamos un bloque nuevo, sin ninguna relación con la leucemia, pensado para quedarnos solo con lo esencial de las redes neuronales convolucionales: cómo se entrenan, cómo se guardan y cómo se reutilizan.
Por qué se llama Proyecto Fei-Fei
Por Fei-Fei Li, profesora de Stanford y una de las figuras más influyentes de la inteligencia artificial moderna. En 2007 creó ImageNet, una base de datos de más de 14 millones de imágenes clasificadas en 22.000 categorías, y con ella impulsó el concurso ILSVRC — el mismo que hizo que, en solo seis años, el error de los mejores sistemas de reconocimiento de imágenes cayera de más de un 26% a menos de un 2,3%. Ese concurso es la historia que hay detrás de las arquitecturas CNN que iréis conociendo (LeNet, AlexNet, GoogLeNet, ResNet). La apodan “la madrina de la IA” (“godmother of AI”), apodo que ella misma acepta como forma de reconocer la contribución de las mujeres al campo. Sigue en primera línea: en 2026 lidera World Labs, una empresa centrada en que las máquinas entiendan espacios en tres dimensiones.
Una aclaración honesta: el dataset que vamos a usar en este bloque no lo creó ella — lo veremos en el siguiente apartado. Pero la razón de que hoy sepamos entrenar una CNN con garantías es, en buena parte, la historia que ImageNet puso en marcha, así que el nombre le queda que ni pintado.
De dónde vienen las imágenes: Fashion-MNIST
Vamos a trabajar con Fashion-MNIST, creado en 2017 por Han Xiao, Kashif Rasul y Roland Vollgraf, investigadores de Zalando Research (el equipo de investigación de la tienda de ropa online alemana Zalando). Lo hicieron porque el dataset clásico para aprender IA — dígitos escritos a mano (MNIST) — se había vuelto demasiado fácil: cualquier modelo mínimamente decente pasaba del 99% de acierto, así que ya no servía para comparar métodos nuevos. Fashion-MNIST tiene el mismo formato exacto (mismo tamaño, mismo número de imágenes) pero con fotos reales de prendas de ropa del catálogo de Zalando, un problema algo más difícil y mucho más parecido a un caso de uso real: clasificar automáticamente fotos de producto en una tienda online, algo que cualquier tienda con miles de artículos nuevos cada semana necesita hacer a una escala que ninguna persona podría revisar a mano.
Datos concretos del dataset:
- 70.000 imágenes en blanco y negro, de 28×28 píxeles — mucho más pequeñas que las de Proyecto Asadi (224×224), así que entrenan muchísimo más rápido.
- 10 categorías de ropa, perfectamente equilibradas (6.000 imágenes de cada una en el conjunto de entrenamiento): camiseta/top, pantalón, jersey, vestido, abrigo, sandalia, camisa, zapatilla, bolso y botín.
- 60.000 imágenes para entrenar y 10.000 reservadas para examen — ya vienen separadas así de fábrica.
- Licencia MIT (uso libre) y viene integrado directamente en Keras, sin que haga falta descargar nada de Kaggle ni descomprimir zips.
Por qué es un buen sitio para practicar
A diferencia de una célula benigna o maligna, aquí cualquiera de vosotros distingue una zapatilla de un abrigo con solo mirarla — no necesitáis IA para eso. Lo que hace valioso este dataset no es la dificultad de cada imagen suelta, sino la escala: nadie va a revisar a mano 70.000 fotos, y menos aún las miles de fotos nuevas que sube una tienda online cada semana. Además, al no tener ninguno de los líos de Asadi (sin descargas, sin desequilibrio de clases, sin archivos corruptos), este bloque nos deja concentrarnos en dos cosas que en Asadi no nos dio tiempo a ver con calma: probar arquitecturas de CNN algo más completas, y aprender a guardar el modelo ya entrenado para no tener que reentrenarlo cada vez que abrimos el cuaderno — el problema que sufristeis en la Sesión 5 de Asadi.
Cómo preparar el ordenador antes de la próxima sesión
Aquí viene la parte fácil: si ya tenéis tensorflow instalado de Proyecto Asadi, no hace falta instalar nada más. La propia librería descarga Fashion-MNIST la primera vez que la pedís (unos 30 MB, se queda guardada en vuestro ordenador para las siguientes veces).
Primer vistazo a las imágenes
from tensorflow import keras
import matplotlib.pyplot as plt
import numpy as np
(x_entrenamiento, y_entrenamiento), (x_prueba, y_prueba) = keras.datasets.fashion_mnist.load_data()
print("Forma de x_entrenamiento:", x_entrenamiento.shape)
print("Forma de x_prueba:", x_prueba.shape)
nombres_clases = ["Camiseta/top", "Pantalón", "Jersey", "Vestido", "Abrigo",
"Sandalia", "Camisa", "Zapatilla", "Bolso", "Botín"]
# Cuántas imágenes hay de cada categoría
valores, conteos = np.unique(y_entrenamiento, return_counts=True)
for v, c in zip(valores, conteos):
print(f"{nombres_clases[v]}: {c} imágenes")
# Un vistazo a las 10 primeras imágenes del conjunto de entrenamiento
fig, ejes = plt.subplots(2, 5, figsize=(12, 5))
for i, ax in enumerate(ejes.flat):
ax.imshow(x_entrenamiento[i], cmap="gray")
ax.set_title(nombres_clases[y_entrenamiento[i]], fontsize=9)
ax.axis("off")
plt.tight_layout()
plt.show()
Fijaos en la forma de x_entrenamiento: (60000, 28, 28) — 60.000 imágenes, cada una una cuadrícula de 28×28 números (un valor de gris por píxel, de 0 a 255). Ni una sola columna de “clase” que rellenar a mano, ni carpetas que organizar: Keras ya os entrega las imágenes y sus etiquetas juntas, listas para usar.
Próximo paso
Con los datos ya cargados y vistos, en la próxima sesión construimos nuestra primera CNN para Fashion-MNIST — más completa que la de Asadi, ya que aquí no tenemos que preocuparnos por el desequilibrio de clases ni por archivos corruptos — y, por fin, aprendemos a guardar el modelo entrenado para no tener que repetir el entrenamiento cada vez que retomamos el cuaderno.




