Learning#
bartorch.learning holds neural networks for complex, high-dimensional images
and what places them in this package’s iterations: a network for images
carrying frames or subspace coefficients, patchwise execution on a device of an
image held on the host, unrolled iterations, the partition of the acquired
samples for training without a reference, and a voxel-wise uncertainty. A
network used as a regularizer is a ImplicitPrior,
whose sigma may be a schedule over the iterations and which with step=True
hands the network the iteration index. Differentiation through reconstruction
describes how gradients pass through an unrolled iteration and the memory each
backward strategy uses.
Networks#
Object |
Description |
|---|---|
Residual UNet on 2D or 3D real channels, optionally over a frame axis, conditioned on the iteration index, the noise level and a class |
|
A real network applied to complex images, their leading axes and real and imaginary parts as its channels, normalized by the peak or whitened |
|
A network applied patch by patch on a device, with a randomly shifted grid and mixed precision, to an image held elsewhere |
Precision on the device |
|
|---|---|
Card with bfloat16 (Ampere and later: A40, RTX 4000 Ada) |
bfloat16 |
Card without it (Turing: T4) |
float16 |
Host |
single precision, no mixed precision |
Iterations as networks#
Object |
Description |
|---|---|
A fixed number of applications of an iteration block from |
|
Graph recorded |
Memory |
Gradient |
|---|---|---|---|
default |
The whole stack |
Iterations × one step |
End to end |
|
One iteration at a time |
One step |
Of each step alone (greedy training with |
|
The states between iterations |
States + one step |
End to end; each step is computed twice |
Training without a reference#
Object |
Description |
|---|---|
Partition of the acquired samples into a set reconstructed from and a set held out, for self-supervised training |
Uncertainty#
Complex values as channels#
Object |
Description |
|---|---|
Real and imaginary parts on a new leading axis |
|
Inverse of |
Training stages#
These two need lightning and torchio, which
pip install bartorch[learning] installs; they are imported the first time
either name is asked for, so import bartorch.learning imports neither.
Object |
Description |
|---|---|
A |
|
A |
The examples of Learned regularization train networks built from these objects.