Skip to content

Configuration

SLEAP-NN uses YAML configuration files with three main sections.

Section Description
Data Config Data paths, preprocessing, augmentation
Model Config Backbone and head architecture
Trainer Config Epochs, optimizer, learning rate, logging
Sample Configs Ready-to-use templates

Generate Configs

Don't want to write YAML by hand? Use these tools to generate configs:

Tool Description
Config Picker Interactive web app (runs in browser)
sleap-nn config CLI with interactive TUI or auto mode

See the Config Generator Guide for detailed CLI usage.


Config Structure

data_config:      # Data loading and preprocessing
  train_labels_path: [...]
  preprocessing: {...}
  augmentation_config: {...}

model_config:     # Model architecture
  backbone_config: {...}
  head_configs: {...}

trainer_config:   # Training settings
  max_epochs: 100
  optimizer: {...}

Usage

sleap-nn train --config config.yaml

Converting from Legacy SLEAP

If you have a training_config.json from SLEAP < v1.5, you can convert it to the new YAML format:

from sleap_nn.config.training_job_config import TrainingJobConfig
from omegaconf import OmegaConf

# Load legacy config and convert
config = TrainingJobConfig.load_sleap_config("path/to/training_config.json")

# Save as YAML
OmegaConf.save(config, "config.yaml")