LION.models.learned_regularizer.ACR¶
Classes
|
Adversarial convex regulariser (Mukherjee et al., 2021): as the adversarial regulariser ( |
|
A layer of an input-convex network: a non-negative convolution of the previous layer's output plus a convolution of the input, then a convex, non-decreasing activation (leaky ReLU). |
|
|
|
A parametrisation keeping a weight non-negative (clipped at 0), for the convex layers. |
- class LION.models.learned_regularizer.ACR.ACR(operator_params=None, model_parameters=None)[source]¶
Bases:
LIONmodelAdversarial convex regulariser (Mukherjee et al., 2021): as the adversarial regulariser (
AR), but convex in the image: an input-convex network plus a small learnable||x||^2term. Trained byARSolver, used byLearnedRegularizerReconstructor. Takes images.model_parameters(default_parameters()):channels: the channels of each layer (16);kernel_size,stride: the convolutions’ (5, 1);relu_type: the activation, “LeakyReLU” (the only convex, non-decreasing one supported);layers: the convex layers (5);l2_penalty: the initial w of thesoftplus(w) ||x||^2term (-9).
Initialize internal Module state, shared by both nn.Module and ScriptModule.
- initialize_weights(min_val=0.0, max_val=0.001)[source]¶
Draws the non-negative weights uniformly in [
min_val,max_val], as the paper does. Returns the model.
- class LION.models.learned_regularizer.ACR.ICNN_layer(channels, kernel_size=5, stride=1, relu_type='LeakyReLU')[source]¶
Bases:
ModuleA layer of an input-convex network: a non-negative convolution of the previous layer’s output plus a convolution of the input, then a convex, non-decreasing activation (leaky ReLU).
Initialize internal Module state, shared by both nn.Module and ScriptModule.