diffuser_scheduler/kinds/
mod.rs

1use crate::DiffuserScheduler;
2use serde::Serialize;
3
4#[repr(u8)]
5#[derive(Clone, Debug, Serialize)]
6pub enum DiffuserSchedulerKind {
7    Euler,
8    DDIM,
9}
10
11mod der;
12
13impl Default for DiffuserSchedulerKind {
14    fn default() -> Self {
15        Self::DDIM
16    }
17}
18
19impl DiffuserSchedulerKind {
20    pub fn as_scheduler(&self) -> DiffuserScheduler {
21        match self {
22            DiffuserSchedulerKind::Euler => DiffuserScheduler::Euler(Box::default()),
23            DiffuserSchedulerKind::DDIM => DiffuserScheduler::DDIM(Box::default()),
24        }
25    }
26}