#![allow(clippy::too_many_arguments)]
pub mod data;
#[cfg(feature = "analyze_mic")]
pub mod gather;
pub mod helpers;
pub mod mlp;
pub mod model;
use burn::config::Config;
use std::path::PathBuf;
pub const FREQUENCY_SPACE_SIZE: usize = 8192;
pub const INPUT_SPACE_SIZE: usize = NUM_CLASSES + 128;
pub const MEL_SPACE_SIZE: usize = 512;
pub const NUM_CLASSES: usize = 128;
#[derive(Debug, Config)]
pub struct TrainConfig {
pub source: String,
pub destination: String,
pub log: String,
pub simulation_size: usize,
pub simulation_peak_radius: f32,
pub simulation_harmonic_decay: f32,
pub simulation_frequency_wobble: f32,
pub mha_heads: usize,
pub mha_dropout: f64,
pub model_epochs: usize,
pub model_batch_size: usize,
pub model_workers: usize,
pub model_seed: u64,
pub adam_learning_rate: f64,
pub adam_weight_decay: f64,
pub adam_beta1: f32,
pub adam_beta2: f32,
pub adam_epsilon: f32,
pub sigmoid_strength: f32,
pub no_plots: bool,
}
#[derive(Clone, Debug)]
pub struct KordItem {
pub path: PathBuf,
pub frequency_space: [f32; FREQUENCY_SPACE_SIZE],
pub label: u128,
}
impl Default for KordItem {
fn default() -> Self {
Self {
path: PathBuf::new(),
frequency_space: [0.0; FREQUENCY_SPACE_SIZE],
label: 0,
}
}
}