stable_diffusion_trainer/trainer/optimizer/
mod.rs1use crate::prelude::*;
4use std::fmt::Display;
5
6#[derive(Debug, Serialize, Deserialize)]
8pub enum Optimizer {
9 AdamW,
11 AdamW8bit,
13 Adafactor,
15 DAdaptation,
17 DAdaptationGrad,
19 DAdaptAdam,
21 DAdaptAdan,
23 DAdaptAdamIP,
25 DAdaptAdamReprint,
27 DAdaptLion,
29 DAdaptSGD,
31 Lion,
33 Lion8bit,
35 PagedAdamW8bit,
37 PagedAdamW32bit,
39 PagedLion8bit,
41 Prodigy,
43 SGDNesterov,
45 SGDNesterov8bit
47}
48
49impl Display for Optimizer {
50 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
51 match self {
52 Optimizer::AdamW => write!(f, "AdamW"),
53 Optimizer::AdamW8bit => write!(f, "AdamW8bit"),
54 Optimizer::Adafactor => write!(f, "Adafactor"),
55 Optimizer::DAdaptation => write!(f, "DAdaptation"),
56 Optimizer::DAdaptationGrad => write!(f, "DAdaptationGrad"),
57 Optimizer::DAdaptAdam => write!(f, "DAdaptAdam"),
58 Optimizer::DAdaptAdan => write!(f, "DAdaptAdan"),
59 Optimizer::DAdaptAdamIP => write!(f, "DAdaptAdamIP"),
60 Optimizer::DAdaptAdamReprint => write!(f, "DAdaptAdamReprint"),
61 Optimizer::DAdaptLion => write!(f, "DAdaptLion"),
62 Optimizer::DAdaptSGD => write!(f, "DAdaptSGD"),
63 Optimizer::Lion => write!(f, "Lion"),
64 Optimizer::Lion8bit => write!(f, "Lion8bit"),
65 Optimizer::PagedAdamW8bit => write!(f, "PagedAdamW8bit"),
66 Optimizer::PagedAdamW32bit => write!(f, "PagedAdamW32bit"),
67 Optimizer::PagedLion8bit => write!(f, "PagedLion8bit"),
68 Optimizer::Prodigy => write!(f, "Prodigy"),
69 Optimizer::SGDNesterov => write!(f, "SGDNesterov"),
70 Optimizer::SGDNesterov8bit => write!(f, "SGDNesterov8bit")
71 }
72 }
73}