Included Configurations¶
Hydra is organized around "configuration groups", which are collections of related configuration files. The reference training script is organized around several configuration groups which are intended to be used in routine experiments, as well as some others which should not generally need to be modified (hydra
, lightningmodule
).
meta
— Metadata¶
uv run train.py meta.name=example_experiment meta.version=test_version_0 resume=path/to/previous/checkpoint.ckpt
Experiment metadata is configured using the meta
config group, including an optional resume
field which can be used to resume training from a previous checkpoint (with identical model settings).
Warning
Make sure to set the meta.name
and meta.version
fields!
size
— Model Dimensions¶
uv run train.py size.d_model=256 size.d_feedforward=1024 size.nhead=4 size.enc_layers=3 size.dec_layers=3
Certain model dimensions can be configured globally using a size
config group, which is referenced by other model configurations:
base
— Base Model¶
Load a base model using the specified configuration; see NRDKLightningModule.load_weights
for details about how to configure this behavior.
datamodule
— Dataloader¶
To configure the sensors to load:
To configure which traces to include in the dataset:
See nrdk.roverd.datamodule
for more details about the dataloader configuration.
model
— Model Architecture¶
The model is just any torch.nn.Module
; the included TokenizerEncoderDecoder
is a good starting point.
Warning
The reference configs are built around TokenizerEncoderDecoder
, with the tokenizer, encoder, and decoder as nested sub-configs.
Note that these sub-configs must be specified as model/decoder=...
, not model.decoder=...
!
objective
— Training Objective¶
Training objectives are expected to implement the the Objective
interface.
transforms
— Data Processing¶
lightningmodule
— Training Loop¶
The default lightningmodule
config should not need to be modified, and pulls in the ${objective}
and {$model}
configs.