stable_diffusion_trainer/precision/
mod.rs

1//! Precision module contains the definition of the precision of the model.
2
3/// The precision enumeration.
4pub enum FloatPrecision {
5    /// 16-bit floating point precision.
6    F16,
7    /// 16-bit brain floating point precision.
8    BF16,
9    /// 32-bit floating point precision.
10    F32
11}
12
13impl std::fmt::Display for FloatPrecision {
14    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
15        match self {
16            FloatPrecision::F16 => write!(f, "fp16"),
17            FloatPrecision::BF16 => write!(f, "bf16"),
18            FloatPrecision::F32 => write!(f, "fp32")
19        }
20    }
21}