deepinv.distributed#
This module provides a simplified API for distributing DeepInverse objects across
multiple devices and processes. The core function distribute() automatically
wraps your objects (stacked physics, denoisers, data fidelity) into their
distributed counterparts, handling all the boilerplate for you.
See the user guide on distributed reconstruction for more information.
Main API#
These are the main components most users need:
Context manager for distributed computing. |
Distribute a DeepInverse object across multiple devices. |
Core Classes#
These classes are created automatically by deepinv.distributed.distribute().
You typically don’t need to instantiate them directly.
Holds only local physics operators. |
|
Distributed linear physics operators. |
|
Distributed signal processing using pluggable tiling and reduction strategies. |
|
Distributed data fidelity term for use with distributed physics operators. |
Distribution Strategies#
Advanced: Custom tiling strategies for spatial distribution of denoisers.
Abstract base class for distributed signal processing strategies. |
|
Basic distributed strategy with naive splitting along specified dimensions. |
|
Smart tiling strategy with padding for N-dimensional data. |
Create a distributed signal strategy by name. |