Entrenamiento
chainrule
Un motor de autograd escalar para aprender backpropagation de verdad.
Instalación
pip install git+https://github.com/jmweb-org/chainruleSi usas uv, también como CLI aislado:
uv tool install git+https://github.com/jmweb-org/chainruleQué 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 passCaracterí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.