azula.guidance.diffpir

Diffusion Plug-and-Play Image Restoration (DiffPIR) internals.

References

Denoising Diffusion Models for Plug-and-Play Image Restoration (Zhu et al., 2023)

Classes

DiffPIRDenoiser

Creates a DiffPIR denoiser module.

Descriptions

class azula.guidance.diffpir.DiffPIRDenoiser(denoiser, y, A, var_y, lmbda=10.0, solver='gmres', iterations=1)[source]

Creates a DiffPIR denoiser module.

Parameters:
  • denoiser (Denoiser) – A denoiser \(q_\phi(X \mid X_t)\).

  • y (Tensor) – An observation \(y \sim \mathcal{N}(A x, \Sigma_y)\), with shape \((*, D)\).

  • A (Callable[[Tensor], Tensor]) – The forward operator \(x \mapsto A x\).

  • var_y (float | Tensor) – The noise variance \(\Sigma_y\).

  • lmbda (float) – The regularization strength \(\lambda \in \mathbb{R}_+\).

  • solver (Literal['cg', 'gmres']) – The linear solver name.

  • iterations (int) – The number of solver iterations.