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}