-
Notifications
You must be signed in to change notification settings - Fork 6
Description
Contact emails
Project summary
DeepInverse: a PyTorch library for imaging with deep learning
Project description
DeepInverse is an open-source PyTorch-based library for imaging inverse problems. DeepInverse implements all steps for image reconstruction, including efficient forward operators, defining and solving variational problems and designing and training advanced neural networks, for a wide set of domains (medical imaging, astronomical imaging, remote sensing, computational photography, compressed sensing and more).
Imaging is a foundational technology that has driven much of science and engineering in the past century. Deep neural networks have become ubiquitous in various imaging inverse problems. Despite the ever-increasing research effort, most learning-based algorithms are built from scratch, are hard to generalize beyond their specific training setting, and the reported results are often hard to reproduce. DeepInverse overcomes these limitations by providing a modular unified framework, leveraging the popular PyTorch deep learning library. For our audience of researchers (experts in optimization, deep learning etc.), practitioners (biologists, physicists etc.) and imaging software engineers, DeepInverse is:
- Accelerating research by enabling efficient testing, deployment and transfer of new ideas across imaging domains;
- Enlarging the adoption of deep learning in inverse problems by lowering the entrance bar to new users;
- Enhancing research reproducibility via a common modular framework of problems and algorithms.
Are there any other projects in the PyTorch Ecosystem similar to yours? If, yes, what are they?
No
Project repo URL
https://github.com/deepinv/deepinv
Additional repos in scope of the application
No response
Project license
BSD-3-Clause license
GitHub handles of the project maintainer(s)
tachella, andrewwango, samuro95, mh-nguyen712, jscanvic
Is there a corporate or academic entity backing this project? If so, please provide the name and URL of the entity.
No
Website URL
Documentation
Yes - see:
- Quickstart: https://deepinv.github.io/deepinv/quickstart.html
- Examples: https://deepinv.github.io/deepinv/auto_examples/index.html
- User Guide: https://deepinv.github.io/deepinv/user_guide.html
The documentation recently won a national prize.
How do you build and test the project today (continuous integration)? Please describe.
Our CI workflows include:
- Linting:
black
,ruff
- Testing:
pytest
https://github.com/deepinv/deepinv/tree/main/deepinv/tests - Docs:
sphinx
andsphinx-gallery
Version of PyTorch
>=2.2.0
Components of PyTorch
All the differentiable components of our imaging pipelines, such as neural network solver models and physics forward operator models inherit from nn.Module
, with optional buffers. Our library's Trainer
makes use of this differentiability to train these networks using torch optimizers and our custom suite of loss functions. All our data (i.e. images and imaging measurements) are described as torch tensors. We also make heavy use of GPU for training and inference.
How long do you expect to maintain the project?
5 years.
Additional information
No response