MCPcopy Index your code
hub / github.com/VisionXLab/OF-Diff / __init__

Method __init__

ldm/models/diffusion/ddpm.py:55–143  ·  view source on GitHub ↗
(self,
                 unet_config,
                 timesteps=1000,
                 beta_schedule="linear",
                 loss_type="l2",
                 ckpt_path=None,
                 ignore_keys=[],
                 load_only_unet=False,
                 monitor="val/loss",
                 use_ema=True,
                 first_stage_key="image",
                 image_size=256,
                 channels=3,
                 log_every_t=100,
                 clip_denoised=True,
                 linear_start=1e-4,
                 linear_end=2e-2,
                 cosine_s=8e-3,
                 given_betas=None,
                 original_elbo_weight=0.,
                 v_posterior=0.,  # weight for choosing posterior variance as sigma = (1-v) * beta_tilde + v * beta
                 l_simple_weight=1.,
                 conditioning_key=None,
                 parameterization="eps",  # all assuming fixed variance schedules
                 scheduler_config=None,
                 use_positional_encodings=False,
                 learn_logvar=False,
                 logvar_init=0.,
                 make_it_fit=False,
                 ucg_training=None,
                 reset_ema=False,
                 reset_num_ema_updates=False,
                 )

Source from the content-addressed store, hash-verified

53class DDPM(pl.LightningModule):
54 # classic DDPM with Gaussian diffusion, in image space
55 def __init__(self,
56 unet_config,
57 timesteps=1000,
58 beta_schedule="linear",
59 loss_type="l2",
60 ckpt_path=None,
61 ignore_keys=[],
62 load_only_unet=False,
63 monitor="val/loss",
64 use_ema=True,
65 first_stage_key="image",
66 image_size=256,
67 channels=3,
68 log_every_t=100,
69 clip_denoised=True,
70 linear_start=1e-4,
71 linear_end=2e-2,
72 cosine_s=8e-3,
73 given_betas=None,
74 original_elbo_weight=0.,
75 v_posterior=0., # weight for choosing posterior variance as sigma = (1-v) * beta_tilde + v * beta
76 l_simple_weight=1.,
77 conditioning_key=None,
78 parameterization="eps", # all assuming fixed variance schedules
79 scheduler_config=None,
80 use_positional_encodings=False,
81 learn_logvar=False,
82 logvar_init=0.,
83 make_it_fit=False,
84 ucg_training=None,
85 reset_ema=False,
86 reset_num_ema_updates=False,
87 ):
88 super().__init__()
89 assert parameterization in ["eps", "x0", "v"], 'currently only supporting "eps" and "x0" and "v"'
90 self.parameterization = parameterization
91 print(f"{self.__class__.__name__}: Running in {self.parameterization}-prediction mode")
92 self.cond_stage_model = None
93 self.clip_denoised = clip_denoised
94 self.log_every_t = log_every_t
95 self.first_stage_key = first_stage_key
96 self.image_size = image_size # try conv?
97 self.channels = channels
98 self.use_positional_encodings = use_positional_encodings
99 self.model = DiffusionWrapper(unet_config, conditioning_key)
100 count_params(self.model, verbose=True)
101 self.use_ema = use_ema
102 if self.use_ema:
103 self.model_ema = LitEma(self.model)
104 print(f"Keeping EMAs of {len(list(self.model_ema.buffers()))}.")
105
106 self.use_scheduler = scheduler_config is not None
107 if self.use_scheduler:
108 self.scheduler_config = scheduler_config
109
110 self.v_posterior = v_posterior
111 self.original_elbo_weight = original_elbo_weight
112 self.l_simple_weight = l_simple_weight

Callers 7

__init__Method · 0.45
__init__Method · 0.45
__init__Method · 0.45
__init__Method · 0.45
__init__Method · 0.45
__init__Method · 0.45
__init__Method · 0.45

Calls 8

init_from_ckptMethod · 0.95
register_scheduleMethod · 0.95
count_paramsFunction · 0.90
LitEmaClass · 0.90
existsFunction · 0.90
DiffusionWrapperClass · 0.85
reset_num_updatesMethod · 0.80
register_bufferMethod · 0.45

Tested by

no test coverage detected