DiffusionSampler

class deepinv.sampling.DiffusionSampler(diffusion, max_iter=100.0, clip=(-1, 2), thres_conv=0.1, g_statistic=<function DiffusionSampler.<lambda>>, verbose=True, save_chain=False)[source]

Bases: MonteCarlo

Turns a diffusion method into a Monte Carlo sampler

Unlike diffusion methods, the resulting sampler computes the mean and variance of the distribution by running the diffusion multiple times.

Parameters:
  • diffusion (torch.nn.Module) – a diffusion model

  • max_iter (int) – the maximum number of iterations

  • clip (tuple) – the clip range

  • g_statistic (callable) – the algorithm computes mean and variance of the g function, by default \(g(x) = x\).

  • thres_conv (float) – the convergence threshold for the mean and variance

  • verbose (bool) – whether to print the progress

  • save_chain (bool) – whether to save the chain

  • thinning (int) – the thinning factor

  • burnin_ratio (float) – the burnin ratio

Examples using DiffusionSampler:

Image reconstruction with a diffusion model

Image reconstruction with a diffusion model