Entrenamiento
expbook
Un tracker de experimentos local y sin servidor: cada run es una carpeta de JSON.
Instalación
pip install git+https://github.com/jmweb-org/expbookSi usas uv, también como CLI aislado:
uv tool install git+https://github.com/jmweb-org/expbookQué hace
Cada script de entrenamiento imprime sus números y luego desaparecen, o quedan en una celda de notebook que nadie vuelve a correr, o en una hoja de cálculo que alguien olvidó actualizar. Saber si este run superó de verdad al anterior acaba dependiendo de la memoria. expbook es lo más pequeño que arregla eso: envuelve un run en track() y escribe sus parámetros, su historial de métricas y su resumen final directamente a disco, en JSON plano. No hay demonio que arrancar, ni servidor al que apuntar un navegador, ni base de datos que se pueda corromper a mitad de run.
En acción
$ expbook list linreg
exp run status duration metrics
linreg cc142382 completed 0.0s b=0.9604, mse=0.09898, w=2.909
linreg 8148c173 completed 0.0s b=0.9738, mse=0.09421, w=2.979
linreg 34a3f5c4 completed 0.0s b=0.9738, mse=0.09421, w=2.979Características
- —track() escribe params.json en cuanto arranca el run, antes de que nada pueda fallar.
- —run.log() añade una línea a metrics.jsonl por cada paso, sin buffer en memoria.
- —expbook compare enfrenta dos runs, parámetros y métricas, con deltas.
- —expbook best encuentra el run con la métrica más alta o más baja de un experimento.