132 lines
2.3 KiB
YAML
132 lines
2.3 KiB
YAML
# Hydra Configuration Example
|
|
# This demonstrates the config structure for training pipeline
|
|
|
|
# Run with: python train.py --config-name=config_example
|
|
|
|
defaults:
|
|
- training: default
|
|
- dataset: brain_decoder
|
|
- model: transformer
|
|
- override hydra/launcher: submitit_local
|
|
|
|
# Project settings
|
|
project_name: brain_decoder
|
|
experiment_name: transformer_baseline
|
|
|
|
# Random seed
|
|
seed: 42
|
|
|
|
# Device settings
|
|
device: cuda
|
|
num_workers: 4
|
|
pin_memory: true
|
|
|
|
# Training configuration
|
|
training:
|
|
epochs: 100
|
|
batch_size: 32
|
|
learning_rate: 0.001
|
|
weight_decay: 0.0001
|
|
gradient_clip: 1.0
|
|
early_stopping:
|
|
patience: 10
|
|
min_delta: 0.001
|
|
|
|
# Optimizer settings
|
|
optimizer: adamw
|
|
optimizer_params:
|
|
betas: [0.9, 0.999]
|
|
eps: 1.0e-08
|
|
|
|
# Scheduler settings
|
|
scheduler: cosine
|
|
scheduler_params:
|
|
warmup_epochs: 10
|
|
min_lr: 1.0e-06
|
|
|
|
# Checkpoint settings
|
|
checkpoint:
|
|
save_every: 5
|
|
save_best: true
|
|
monitor: val_loss
|
|
mode: min
|
|
|
|
# Dataset configuration
|
|
dataset:
|
|
name: brain_decoder
|
|
task: movement_classification
|
|
target_size:
|
|
movement_classification: 5
|
|
reconstruction: [64, 64]
|
|
|
|
# Data paths
|
|
data_dir: ${dir.data_dir}/processed
|
|
train_split: train
|
|
val_split: val
|
|
test_split: test
|
|
|
|
# Data loading
|
|
num_channels: 64
|
|
sampling_rate: 1000
|
|
sequence_length: 1000
|
|
|
|
# Augmentation
|
|
augmentation:
|
|
name: composed
|
|
time_shift: true
|
|
amplitude_scale: true
|
|
gaussian_noise: true
|
|
max_shift: 10
|
|
min_scale: 0.8
|
|
max_scale: 1.2
|
|
noise_mean: 0.0
|
|
noise_std: 0.1
|
|
|
|
# Model configuration
|
|
model:
|
|
name: Transformer
|
|
hidden_dim: 256
|
|
num_heads: 8
|
|
num_layers: 6
|
|
dropout: 0.1
|
|
activation: gelu
|
|
|
|
# Architecture specific
|
|
encoder:
|
|
input_dim: 64
|
|
embedding_dim: 256
|
|
positional_encoding: true
|
|
|
|
decoder:
|
|
output_dim: ${dataset.target_size.${dataset.task}}
|
|
pooling: avg
|
|
|
|
# Logging configuration
|
|
logging:
|
|
logger: wandb
|
|
log_every: 10
|
|
log_grads: false
|
|
|
|
# TensorBoard
|
|
tensorboard: true
|
|
histogram: true
|
|
|
|
# W&B
|
|
wandb:
|
|
project: ${project_name}
|
|
entity: null
|
|
tags: ["baseline", "transformer"]
|
|
|
|
# Output directories
|
|
dir:
|
|
data_dir: ./data
|
|
output_dir: ./outputs
|
|
log_dir: ${dir.output_dir}/logs
|
|
checkpoint_dir: ${dir.output_dir}/checkpoints
|
|
figure_dir: ${dir.output_dir}/figures
|
|
table_dir: ${dir.output_dir}/tables
|
|
|
|
# Debug settings
|
|
debug: false
|
|
fast_dev_run: false
|