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.
This class distributes a collection of physics operators across multiple processes, where each process owns a subset of the operators. |
|
|
Distributed linear physics operators. |
Distributed signal processing using pluggable tiling and reduction strategies. |
|
Distributed data fidelity term for use with distributed physics operators. |
|
|
Synchronize gradients for replicated trainable parameters. |
Distribution Strategies#
Advanced: Custom tiling strategies for spatial distribution of denoisers.
Abstract base class for distributed signal processing strategies. |
|
|
Smart tiling strategy with padding for N-dimensional data. |
Create a distributed signal strategy. |