Sobre MíQué hagoProyectosLabContacto

Entrenamiento

expbook

Un tracker de experimentos local y sin servidor: cada run es una carpeta de JSON.

expbook CI statusMIT license

Instalación

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

Si usas uv, también como CLI aislado:

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

Qué 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.979

Caracterí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.
Ver el código en GitHub

Otras herramientas

hola@jmwebsoluciones.com