Train a model
You describe a training job in a small configuration file, then run it. The file says which data to use, how to split it, which model to fit, and how to score it. Everything the run did is written down, so you can repeat it later or hand it to someone else.
Finish the installation first.
Run one now
The repository ships a small dataset so you can see the whole thing work before preparing any of your own.
uv run goldilocks-ml train run protocols/synthetic/regression.toml \
--dataset tests/fixtures/kdist --output local_runs/first
Open local_runs/first. You get the predictions next to the true values, the
split that was used, the scores, and a record of every file involved. Compare
model and baseline in the metrics: the baseline just predicts the training
median, so anything that cannot beat it has not learned. The whole folder is
described in What a run produces.
Then use your own data
Three commands, in order.
Describe your dataset once. seal records what your data is and takes a
checksum of every file, so a later run can tell whether anything changed
underneath it.
uv run goldilocks-ml train seal snapshots/mine \
--record-id my-data --version v1 \
--target energy --target-contract my-project.energy.v1 \
--target-definition "Total energy per atom." --target-units eV/atom
Check before you commit hours to it. validate reads the configuration and
your data, checks they agree, and works out the split — without training
anything or touching the network.
Train. Every check validate ran happens again, and then the model is
fitted.
Which models you can train
The synthetic configurations in protocols/synthetic/ run anywhere with no
extra dependencies, and are the fastest way to see the shape of a run without
waiting for anything.
The real ones need the scientific stack the optional dependency set installs. Models lists them, filed under the calculation setting each one advises.