deepinv/deepinv

DeepInverse: a PyTorch library for solving imaging inverse problems using deep learning

What it solves

DeepInverse addresses the challenge of solving imaging inverse problems. It provides a modular framework to accelerate deep learning research in various imaging domains, enhancing reproducibility and lowering the barrier to entry for new practitioners.

How it works

The library is built on PyTorch and offers several key components:

  • A large framework of predefined imaging operators.
  • State-of-the-art deep neural networks, including pretrained reconstruction models and denoisers.
  • Frameworks for plug-and-play restoration, optimization, and unfolded architectures.
  • Specialized training losses for inverse problems.
  • Sampling algorithms and diffusion models for uncertainty quantification.
  • A dedicated framework for building datasets for inverse problems.

Who it’s for

It is designed for researchers and practitioners working in imaging domains who need a standardized, modular way to implement and test deep learning algorithms for inverse problems.

Highlights

  • Part of the official PyTorch Ecosystem
  • Supports plug-and-play restoration and unfolded architectures
  • Includes diffusion models for uncertainty quantification
  • Provides a framework for building specialized datasets