modrec-workflow/conf/app.yaml

84 lines
2.3 KiB
YAML

dataset:
# Seed for the random number generator, used for signal generation
seed: 42
# Number of samples per recording
recording_length: 1024
# List of signal modulation schemes to include in the dataset
modulation_types:
- bpsk
- qpsk
- qam16
- qam64
# Rolloff factor for pulse shaping filter (0 < beta <= 1)
beta: 0.3
# Samples per symbol (determines bandwidth of the digital signal)
sps: 4
# SNR sweep range: start, stop (exclusive), and step (in dB)
snr_start: -6
snr_stop: 13
snr_step: 3
# Number of iterations (signal recordings) per modulation and SNR combination
num_iterations: 100
# Modulation scheme settings; keys must match the `modulation_types` list above
# Each entry includes:
# - num_bits_per_symbol: bits encoded per symbol (e.g., 1 for BPSK, 4 for 16-QAM)
# - constellation_type: modulation category (e.g., "psk", "qam", "fsk", "ofdm")
# TODO: Combine entries for 'modulation_types' and 'modulation_settings'
modulation_settings:
bpsk:
num_bits_per_symbol: 1
constellation_type: psk
qpsk:
num_bits_per_symbol: 2
constellation_type: psk
qam16:
num_bits_per_symbol: 4
constellation_type: qam
qam64:
num_bits_per_symbol: 6
constellation_type: qam
# Number of slices to cut from each recording
num_slices: 8
# Training and validation split ratios; must sum to 1
train_split: 0.8
val_split: 0.2
training:
# Number of training examples processed together before the model updates its weights
batch_size: 256
# Number of complete passes through the training dataset during training
epochs: 5
# Learning rate: step size for weight updates after each batch
# Recommended range for fine-tuning: 1e-6 to 1e-4
learning_rate: 1e-4
# Enable GPU acceleration for training if available
use_gpu: true
# Dropout rate for individual neurons/layers (probability of dropping out a unit)
drop_rate: 0.5
# Drop path rate: probability of dropping entire residual paths (stochastic depth)
drop_path_rate: 0.2
# Weight decay (L2 regularization) coefficient to help prevent overfitting
wd: 0.01
app:
# Optimization style for ORT conversion; options: 'Fixed', 'None'
optimization_style: "Fixed"
# Target platform architecture; common options: 'amd64', 'arm64'
target_platform: "amd64"