modrec-workflow/conf/app.yaml
Michael Luciuk 9979d84e29 Documentation and formatting updates (#1)
Documentation and formatting updates:
- Updates to project README.
- Adding project health files (`LICENSE` and `SECURITY.md`)
- A few minor formatting changes throughout
- A few typo fixes, removal of unused code, cleanup of shadowed variables, and fixed import ordering with isort.

**Note:** These changes have not been tested.

Co-authored-by: Michael Luciuk <michael.luciuk@gmail.com>
Co-authored-by: Liyu Xiao <liyu@qoherent.ai>
Reviewed-on: https://git.riahub.ai/qoherent/modrec-workflow/pulls/1
Reviewed-by: Liyux <liyux@noreply.localhost>
Co-authored-by: Michael Luciuk <michael@qoherent.ai>
Co-committed-by: Michael Luciuk <michael@qoherent.ai>
2025-07-08 10:50:41 -04:00

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: 3
# 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"