Skip to content

Adding Components

Coming Soon

Heyoooo so I ran out of time writing docs as I have to do actual machine learning. I'll eventually catch this up but as of right now here's my friend gpt-6-astra who will do the talking.


theseus is structured around seven extension points. Choose an implementation, declare its configuration, and import it where you use it. The folders below are where built-in implementations live; your own classes can live in an external module. Decorators run on import. Models do not have a model registry: pass the class through a trainer's MODEL attribute.

What Where How
Model theseus/model/models/ subclass Module, set the trainer's MODEL
Experiment theseus/experiments/ @job("key") + subclass BaseTrainer
Analysis theseus/experiments/ or projects/ @analysis("key") + compose AnalysisBase before your trainer in the inheritance list
Dataset theseus/data/datasets/ @dataset("key") + subclass a dataset base
Evaluation theseus/evaluation/datasets/ @evaluation("key") + subclass the appropriate evaluation strategy
Optimizer theseus/training/optimizers/ pair a config schema and factory with Optimizer, set the trainer's OPTIMIZER
Learning Rate Schedule theseus/training/schedules/ pair a config schema and factory with Schedule, set the trainer's SCHEDULE

For a worked sequence, start with Making It Your Own: a new dataset, a Sampling mixture, an optimizer switch, and then a model change.