native_neural_network 0.3.1

Lib no_std Rust for native neural network (.rnn)
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
pub fn linear_warmup(base_lr: f32, step: u32, warmup_steps: u32) -> Option<f32> {
    if warmup_steps == 0 || !base_lr.is_finite() || base_lr <= 0.0 {
        return None;
    }
    let s = step.max(1).min(warmup_steps);
    Some(base_lr * (s as f32 / warmup_steps as f32))
}

pub fn linear_warmup_f64(base_lr: f64, step: u32, warmup_steps: u32) -> Option<f64> {
    if warmup_steps == 0 || !base_lr.is_finite() || base_lr <= 0.0 {
        return None;
    }
    let s = step.max(1).min(warmup_steps);
    Some(base_lr * (s as f64 / warmup_steps as f64))
}