Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions docs/api/pixelization.rst
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,8 @@ Regularization [ag.reg]
ConstantSplit
Adapt
AdaptSplit
AdaptPower
AdaptSplitPower

Settings
--------
Expand Down
140 changes: 140 additions & 0 deletions test_autolens/config/priors/regularization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,143 @@ constant_zeorth.ConstantZeroth:
width_modifier:
type: Relative
value: 0.5
adapt_power.AdaptPower:
inner_coefficient:
limits:
lower: 0.0
upper: inf
lower_limit: 1.0e-06
type: LogUniform
upper_limit: 1000000.0
width_modifier:
type: Relative
value: 0.5
outer_coefficient:
limits:
lower: 0.0
upper: inf
lower_limit: 1.0e-06
type: LogUniform
upper_limit: 1000000.0
width_modifier:
type: Relative
value: 0.5
signal_scale:
lower_limit: 0.0
type: Uniform
upper_limit: 1.0
power:
type: Constant
value: 1.0
adapt_split_power.AdaptSplitPower:
inner_coefficient:
limits:
lower: 0.0
upper: inf
lower_limit: 1.0e-06
type: LogUniform
upper_limit: 1000000.0
width_modifier:
type: Relative
value: 0.5
outer_coefficient:
limits:
lower: 0.0
upper: inf
lower_limit: 1.0e-06
type: LogUniform
upper_limit: 1000000.0
width_modifier:
type: Relative
value: 0.5
signal_scale:
lower_limit: 0.0
type: Uniform
upper_limit: 1.0
power:
type: Constant
value: 1.0
adapt_split_zeroth_power.AdaptSplitZerothPower:
inner_coefficient:
limits:
lower: 0.0
upper: inf
lower_limit: 1.0e-06
type: LogUniform
upper_limit: 1000000.0
width_modifier:
type: Relative
value: 0.5
outer_coefficient:
limits:
lower: 0.0
upper: inf
lower_limit: 1.0e-06
type: LogUniform
upper_limit: 1000000.0
width_modifier:
type: Relative
value: 0.5
signal_scale:
lower_limit: 0.0
type: Uniform
upper_limit: 1.0
zeroth_coefficient:
limits:
lower: 0.0
upper: inf
lower_limit: 1.0e-06
type: LogUniform
upper_limit: 1000000.0
width_modifier:
type: Relative
value: 0.5
zeroth_signal_scale:
lower_limit: 0.0
type: Uniform
upper_limit: 1.0
power:
type: Constant
value: 1.0
matern_adapt_power_kernel.MaternAdaptPowerKernel:
inner_coefficient:
limits:
lower: 0.0
upper: inf
lower_limit: 1.0e-06
type: LogUniform
upper_limit: 1000000.0
width_modifier:
type: Relative
value: 0.5
outer_coefficient:
limits:
lower: 0.0
upper: inf
lower_limit: 1.0e-06
type: LogUniform
upper_limit: 1000000.0
width_modifier:
type: Relative
value: 0.5
signal_scale:
lower_limit: 0.0
type: Uniform
upper_limit: 1.0
scale:
limits:
lower: 0.0
upper: inf
lower_limit: 1.0e-06
type: LogUniform
upper_limit: 1000000.0
width_modifier:
type: Relative
value: 0.2
nu:
lower_limit: 0.5
type: Uniform
upper_limit: 5.5
power:
type: Constant
value: 1.0
32 changes: 32 additions & 0 deletions test_autolens/test_regularization_power.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
"""
Model-composition gate for the ``*Power`` regularization siblings added in PyAutoArray, through the
``al.reg`` namespace.

Mirrors ``test_autogalaxy/test_regularization_power.py``; the prior entries this exercises live in
``test_autolens/config/priors/regularization.yaml``.
"""

import autofit as af
import autolens as al


def test__power_classes_are_re_exported():
assert al.reg.AdaptPower is not al.reg.Adapt
assert al.reg.AdaptSplitPower is not al.reg.AdaptSplit
assert al.reg.AdaptSplitZerothPower is not al.reg.AdaptSplitZeroth
assert al.reg.MaternAdaptPowerKernel is not al.reg.MaternAdaptKernel


def test__model_composition__power_is_a_constant_and_is_not_sampled():
model = af.Model(al.reg.AdaptSplitPower)

assert set(prior_tuple[0] for prior_tuple in model.prior_tuples) == {
"inner_coefficient",
"outer_coefficient",
"signal_scale",
}
assert model.instance_from_prior_medians().power == 1.0


def test__model_identifier__differs_from_the_legacy_class():
assert af.Model(al.reg.AdaptSplit).identifier != af.Model(al.reg.AdaptSplitPower).identifier
Loading