Configuration

SMLE relies on a simple YAML structure to define hyperparameters, paths, logging options, and integrations. You can generate a blank template using:

smle create yaml

You can configure the smle.yaml file with the hyperparameters and options for your project. The structure of the smle.yaml file is:

# ---------------------------------------
# SMLE Configuration (Modify Carefully)
# ---------------------------------------

project: project_name

logger:
    dir: logger

wandb:
    entity: your_wandb_account
    key: your_wandb_key

seed: seed
device: 'cpu'/'cuda'

training:
    epochs: n_epochs
    lr: lr
    weight_decay: wd
    batch: batch_size

testing:
    batch: batch_size

Tip

You can add new sections as needed (for example, model, optimizer, scheduler) and access them via the same keys in args. This makes it easy to manage multiple experiments by maintaining different YAML files.

Configuration File Name

Warning

Available only for version 0.0.2.dev1.

By default, SMLE will look for a configuration file named smle.yaml in the current directory. If you would like to use a different name, a different location, or have multiple configuration files for different configurations, you can set the config_file property of SMLE to the path of your file. You must assign the filename before calling stop().

app = SMLE()
app.config_file = "my_file.yaml"
...
app.run()