NanoTST is a tiny time-series transformer lab. The goal is to train a small model on controlled synthetic data, watch it learn in real time, and use interpretability tools only after the model demonstrates a behavior worth inspecting.
- Build a clean, standalone version of the NanoTST model.
- Train on labeled synthetic time-series worlds: trend, sine, noise, jumps, amplitude, frequency, and offset.
- Provide a web UI for changing data/model/training settings and watching predictions evolve.
- Save run artifacts so experiments can be compared later.
- Add interpretability views that connect behavior to internal model structure.
NanoTST now has a working package, CLI report runner, and local web training cockpit. Track the current handoff and next feature ideas in docs/project-log.md.
For a practical workflow, see docs/learning-guide.md.
cd /Users/chris/repos/nanoTST
/Users/chris/.pyenv/versions/3.12.11/bin/python -m venv .venv
.venv/bin/python -m pip install -e .Use Python 3.12 for now. The current pinned PyTorch dependency does not install in a Python 3.14 virtualenv.
.venv/bin/python -u scripts/run_interpretability.py \
--run-name baseline_d64_l2_e50 \
--epochs 50 \
--train-series 1000 \
--eval-series 300 \
--d-model 64 \
--n-layers 2 \
--batch-size 64Open the generated report under:
runs/interpretability/runs/<run-name>/report.html
The next milestone is to add checkpoint loading, evaluation-only mode, named data presets, and a fixed held-out secret test suite. See docs/project-plan.md.
.venv/bin/python web_train/app.pyThen open:
http://127.0.0.1:8000
The first web version runs one active training job at a time, supports start, pause, resume, stop, and manual checkpoint save, and writes run artifacts under:
runs/web/<run-name>/