Data Config
Configure data loading, preprocessing, and augmentation.
Data Paths
data_config:
train_labels_path:
- train.slp
- more_train.slp # Multiple files supported
val_labels_path:
- val.slp # Optional
validation_fraction: 0.1 # Used if val_labels_path not set
test_file_path: test.slp # For post-training evaluation
| Option |
Description |
Default |
train_labels_path |
Training data files |
Required |
val_labels_path |
Validation data files |
null |
validation_fraction |
Fraction for auto-split |
0.1 |
test_file_path |
Test data for evaluation |
null |
user_instances_only |
Only use user-labeled instances |
true |
use_negative_frames |
Include user-confirmed negative frames (see guide) |
false |
negative_loss_weight |
Loss weight multiplier for negative samples |
1.0 |
Data Pipeline
data_config:
data_pipeline_fw: torch_dataset # or cache options
cache_img_path: /path/to/cache # For disk caching
| Option |
Description |
When to Use |
torch_dataset |
Load on demand |
Default, works everywhere |
torch_dataset_cache_img_memory |
Cache in RAM |
Faster, needs enough RAM |
torch_dataset_cache_img_disk |
Cache to disk |
Large datasets, multi-GPU |
With caching, you can use num_workers > 0
Preprocessing
data_config:
preprocessing:
ensure_rgb: false # Force 3 channels
ensure_grayscale: false # Force 1 channel
scale: 1.0 # Resize factor (0.5 = half size)
max_height: null # Pad to this height
max_width: null # Pad to this width
crop_size: null # For centered-instance models
min_crop_size: 100 # Minimum auto crop size
crop_padding: null # Extra padding for crops
Common Patterns
Augmentation
data_config:
use_augmentations_train: true
augmentation_config:
intensity:
# ... intensity settings
geometric:
# ... geometric settings
Intensity Augmentation
augmentation_config:
intensity:
# Noise
uniform_noise_p: 0.0
gaussian_noise_p: 0.0
gaussian_noise_mean: 0.0
gaussian_noise_std: 0.02
# Contrast
contrast_min: 0.9
contrast_max: 1.1
contrast_p: 0.0
# Brightness
brightness_min: 0.9
brightness_max: 1.1
brightness_p: 0.0
Geometric Augmentation
augmentation_config:
geometric:
# Rotation (degrees)
rotation_min: -15.0
rotation_max: 15.0
# Scale
scale_min: 0.9
scale_max: 1.1
# Translation (fraction of image size)
translate_width: 0.0
translate_height: 0.0
# Combined probability (used when individual *_p values are null)
affine_p: 0.0
# Independent probabilities (override affine_p when set)
rotation_p: 1.0 # Always apply rotation by default
scale_p: 1.0 # Always apply scaling by default
translate_p: null # Uses affine_p if null
# Random erase
erase_p: 0.0
erase_scale_min: 0.0001
erase_scale_max: 0.01
# Mixup
mixup_p: 0.0
mixup_lambda_min: 0.01
mixup_lambda_max: 0.05
# Flip (mirror image + keypoints left/right, swapping symmetric node pairs)
flip_p: 0.0 # 0 disables; >0 enables left/right flip (uses skeleton symmetries)
Flip & skeleton symmetries: when flip_p > 0, the image and keypoints are
mirrored left/right and left/right symmetric body parts (e.g. left_paw ↔
right_paw) are swapped so labels stay correct. Symmetry pairs are read from the
skeleton. If the skeleton has no symmetries, flipping is only correct when the
animal is truly left/right symmetric in labeling — a warning is logged otherwise.
Examples
No Augmentation
data_config:
use_augmentations_train: false
Geometric Only (using defaults)
data_config:
use_augmentations_train: true
# Default augmentation_config applies rotation ±15° and scale 0.9-1.1 with p=1.0
Geometric Only (explicit)
data_config:
use_augmentations_train: true
augmentation_config:
intensity: null
geometric:
rotation_min: -30.0
rotation_max: 30.0
rotation_p: 0.5 # 50% chance of rotation
scale_min: 0.8
scale_max: 1.2
scale_p: 0.5 # 50% chance of scaling
Full Augmentation
data_config:
use_augmentations_train: true
augmentation_config:
intensity:
contrast_p: 0.3
brightness_p: 0.3
gaussian_noise_p: 0.2
gaussian_noise_std: 0.1
geometric:
rotation_min: -30.0
rotation_max: 30.0
scale_min: 0.8
scale_max: 1.2
affine_p: 0.7
Full Reference
DataConfig
| Option |
Type |
Default |
Description |
train_labels_path |
list |
null |
List of paths to training .slp files |
val_labels_path |
list |
null |
List of paths to validation .slp files |
validation_fraction |
float |
0.1 |
Fraction of training data for auto-split validation |
use_same_data_for_val |
bool |
false |
Use same data for both training and validation (useful for intentional overfitting) |
test_file_path |
str/list |
null |
Path(s) to test data for post-training evaluation |
provider |
str |
LabelsReader |
Data provider class (only LabelsReader supported) |
user_instances_only |
bool |
true |
Only use user-labeled instances (not predicted) |
data_pipeline_fw |
str |
torch_dataset |
Data loading framework: torch_dataset, torch_dataset_cache_img_memory, torch_dataset_cache_img_disk |
cache_img_path |
str |
null |
Path for disk caching (used with torch_dataset_cache_img_disk) |
use_existing_imgs |
bool |
false |
Use existing cached images instead of regenerating |
delete_cache_imgs_after_training |
bool |
true |
Delete cached images after training completes |
parallel_caching |
bool |
true |
Use parallel processing for caching (faster for large datasets) |
cache_workers |
int |
0 |
Number of workers for parallel caching (0 = auto: min(4, cpu_count)) |
use_augmentations_train |
bool |
true |
Apply augmentations during training |
PreprocessingConfig
| Option |
Type |
Default |
Description |
ensure_rgb |
bool |
false |
Convert images to 3 channels (RGB). Single-channel images are replicated |
ensure_grayscale |
bool |
false |
Convert images to 1 channel (grayscale) |
max_height |
int |
null |
Pad images to this height |
max_width |
int |
null |
Pad images to this width |
scale |
float |
1.0 |
Resize factor (e.g., 0.5 = half size) |
crop_size |
int |
null |
Crop size for centered-instance models. If null, auto-computed from data |
min_crop_size |
int |
100 |
Minimum crop size when auto-computing |
crop_padding |
int |
null |
Extra padding around crops. If null, auto-computed from augmentation settings |
IntensityConfig (augmentation_config.intensity)
| Option |
Type |
Default |
Description |
uniform_noise_min |
float |
0.0 |
Minimum uniform noise value (0-1 scale, multiplied by 255 internally) |
uniform_noise_max |
float |
0.04 |
Maximum uniform noise value (0-1 scale, multiplied by 255 internally) |
uniform_noise_p |
float |
0.0 |
Probability of applying uniform noise |
gaussian_noise_mean |
float |
0.0 |
Mean of Gaussian noise distribution (0-1 scale, multiplied by 255 internally) |
gaussian_noise_std |
float |
0.02 |
Standard deviation of Gaussian noise (0-1 scale, multiplied by 255 internally) |
gaussian_noise_p |
float |
0.0 |
Probability of applying Gaussian noise |
contrast_min |
float |
0.9 |
Minimum contrast factor |
contrast_max |
float |
1.1 |
Maximum contrast factor |
contrast_p |
float |
0.0 |
Probability of applying contrast adjustment |
brightness_min |
float |
0.9 |
Minimum brightness factor |
brightness_max |
float |
1.1 |
Maximum brightness factor (max 2.0) |
brightness_p |
float |
0.0 |
Probability of applying brightness adjustment |
GeometricConfig (augmentation_config.geometric)
| Option |
Type |
Default |
Description |
rotation_min |
float |
-15.0 |
Minimum rotation angle in degrees |
rotation_max |
float |
15.0 |
Maximum rotation angle in degrees |
rotation_p |
float |
1.0 |
Probability of rotation (independent). If null, uses affine_p |
scale_min |
float |
0.9 |
Minimum scale factor |
scale_max |
float |
1.1 |
Maximum scale factor |
scale_p |
float |
1.0 |
Probability of scaling (independent). If null, uses affine_p |
translate_width |
float |
0.0 |
Maximum horizontal translation as fraction of width |
translate_height |
float |
0.0 |
Maximum vertical translation as fraction of height |
translate_p |
float |
null |
Probability of translation (independent). If null, uses affine_p |
affine_p |
float |
0.0 |
Probability of bundled affine transform (rotation + scale + translate) |
erase_scale_min |
float |
0.0001 |
Minimum erased area as proportion of image |
erase_scale_max |
float |
0.01 |
Maximum erased area as proportion of image |
erase_ratio_min |
float |
1.0 |
Minimum aspect ratio of erased area |
erase_ratio_max |
float |
1.0 |
Maximum aspect ratio of erased area |
erase_p |
float |
0.0 |
Probability of random erasing |
mixup_lambda_min |
float |
0.01 |
Minimum mixup strength |
mixup_lambda_max |
float |
0.05 |
Maximum mixup strength |
mixup_p |
float |
0.0 |
Probability of applying mixup |
flip_p |
float |
0.0 |
Probability of mirroring image + keypoints left/right (swaps symmetric node pairs) |