Sobre MíQué hagoProyectosLabContacto

Entrenamiento

chainrule

Un motor de autograd escalar para aprender backpropagation de verdad.

MIT license

Instalación

pip install git+https://github.com/jmweb-org/chainrule

Si usas uv, también como CLI aislado:

uv tool install git+https://github.com/jmweb-org/chainrule

Qué hace

Backpropagation es de esas cosas que resultan obvias una vez implementadas y opacas antes. Leer el _backward de otro no es lo mismo que escribir el tuyo y descubrir, por un gradiente equivocado, en qué línea exacta se cambió un signo. chainrule es la versión pequeña de ese ejercicio: un tipo Value cuyo forward y backward caben en una pantalla, más las dos herramientas que de verdad hacen falta mientras se depura uno: una foto del grafo y una comprobación numérica del gradiente que produjo.

En acción

$ chainrule gradcheck
check        max rel. error  status
polynomial         2.43e-10  pass
activations        2.27e-11  pass
division           1.44e-10  pass
tiny_mlp           6.17e-11  pass

Características

  • Un tipo Value con forward y backward que caben en una pantalla.
  • graph() dibuja el grafo tras backward(), colapsando los nodos reutilizados más de una vez.
  • gradcheck compara el gradiente analítico con una diferencia finita centrada.
  • Un MLP de Python puro, sin tensores ni batching, para leer exactamente lo que entrena.
Ver el código en GitHub

Otras herramientas

hola@jmwebsoluciones.com