MCPcopy Create free account
hub / github.com/Meshcapade/difflocks / loss

Method loss

k_diffusion/layers.py:230–238  ·  view source on GitHub ↗
(self, input, noise, sigma, **kwargs)

Source from the content-addressed store, hash-verified

228
229class DenoiserWithVariance(Denoiser):
230 def loss(self, input, noise, sigma, **kwargs):
231 print("DenoiserWithVariance")
232 c_skip, c_out, c_in = [utils.append_dims(x, input.ndim) for x in self.get_scalings(sigma)]
233 noised_input = input + noise * utils.append_dims(sigma, input.ndim)
234 model_output, logvar = self.inner_model(noised_input * c_in, sigma, return_variance=True, **kwargs)
235 logvar = utils.append_dims(logvar, model_output.ndim)
236 target = (input - c_skip * noised_input) / c_out
237 losses = ((model_output - target) ** 2 / logvar.exp() + logvar) / 2
238 return losses.flatten(1).mean(1)
239
240
241class SimpleLossDenoiser(Denoiser):

Callers

nothing calls this directly

Calls 1

get_scalingsMethod · 0.80

Tested by

no test coverage detected