From 12419289d89c0db40a09b0602d1fc2e2a1148fd9 Mon Sep 17 00:00:00 2001 From: James Nightingale Date: Tue, 26 Mar 2024 13:33:20 +0000 Subject: [PATCH 1/7] fix analysis image --- test_autolens/aggregator/conftest.py | 5 ----- .../imaging/model/test_analysis_imaging.py | 13 +++---------- 2 files changed, 3 insertions(+), 15 deletions(-) diff --git a/test_autolens/aggregator/conftest.py b/test_autolens/aggregator/conftest.py index 8b0c5e794..ec74b7500 100644 --- a/test_autolens/aggregator/conftest.py +++ b/test_autolens/aggregator/conftest.py @@ -66,10 +66,6 @@ def make_model(): @pytest.fixture(name="samples") def make_samples(model): - galaxy_0 = al.Galaxy(redshift=0.5, light=al.lp.Sersic(centre=(0.0, 1.0))) - galaxy_1 = al.Galaxy(redshift=1.0, light=al.lp.Sersic()) - - tracer = al.Tracer(galaxies=[galaxy_0, galaxy_1]) parameters = [model.prior_count * [1.0], model.prior_count * [10.0]] @@ -84,6 +80,5 @@ def make_samples(model): return al.m.MockSamples( model=model, sample_list=sample_list, - max_log_likelihood_instance=tracer, prior_means=[1.0] * model.prior_count, ) diff --git a/test_autolens/imaging/model/test_analysis_imaging.py b/test_autolens/imaging/model/test_analysis_imaging.py index 7b9459bde..a4141ecb1 100644 --- a/test_autolens/imaging/model/test_analysis_imaging.py +++ b/test_autolens/imaging/model/test_analysis_imaging.py @@ -15,17 +15,8 @@ def test__make_result__result_imaging_is_returned(masked_imaging_7x7): - model = af.Collection(galaxies=af.Collection(galaxy_0=al.Galaxy(redshift=0.5))) - - instance = model.instance_from_prior_medians() - - samples = al.m.MockSamples( - model=model, - max_log_likelihood_instance=instance, - prior_means=[1.0] * model.prior_count - ) - search = al.m.MockSearch(name="test_search", samples=samples) + model = af.Collection(galaxies=af.Collection(galaxy_0=al.Galaxy(redshift=0.5))) analysis = al.AnalysisImaging(dataset=masked_imaging_7x7) @@ -36,6 +27,8 @@ def modify_after_fit( analysis.modify_after_fit = modify_after_fit + search = al.m.MockSearch(name="test_search") + result = search.fit(model=model, analysis=analysis) assert isinstance(result, ResultImaging) From 7bd631b852f78d9842dda747d66a527b109ec62c Mon Sep 17 00:00:00 2001 From: James Nightingale Date: Tue, 26 Mar 2024 13:34:52 +0000 Subject: [PATCH 2/7] fix analysis interferometer --- test_autolens/imaging/model/test_analysis_imaging.py | 1 - .../interferometer/model/test_analysis_interferometer.py | 9 ++------- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/test_autolens/imaging/model/test_analysis_imaging.py b/test_autolens/imaging/model/test_analysis_imaging.py index a4141ecb1..8332b6444 100644 --- a/test_autolens/imaging/model/test_analysis_imaging.py +++ b/test_autolens/imaging/model/test_analysis_imaging.py @@ -1,4 +1,3 @@ -import numpy as np from os import path import pytest diff --git a/test_autolens/interferometer/model/test_analysis_interferometer.py b/test_autolens/interferometer/model/test_analysis_interferometer.py index 73deb53c5..9ccae6812 100644 --- a/test_autolens/interferometer/model/test_analysis_interferometer.py +++ b/test_autolens/interferometer/model/test_analysis_interferometer.py @@ -1,5 +1,4 @@ from os import path -import numpy as np import pytest import autofit as af @@ -14,12 +13,6 @@ def test__make_result__result_interferometer_is_returned(interferometer_7): model = af.Collection(galaxies=af.Collection(galaxy_0=al.Galaxy(redshift=0.5))) - instance = model.instance_from_prior_medians() - - samples = al.m.MockSamples(max_log_likelihood_instance=instance) - - search = al.m.MockSearch(name="test_search", samples=samples) - analysis = al.AnalysisInterferometer(dataset=interferometer_7) def modify_after_fit( @@ -29,6 +22,8 @@ def modify_after_fit( analysis.modify_after_fit = modify_after_fit + search = al.m.MockSearch(name="test_search") + result = search.fit(model=model, analysis=analysis) assert isinstance(result, ResultInterferometer) From d9630b3869d2e9b51bccfdb0cfd2f644fbd1ebe5 Mon Sep 17 00:00:00 2001 From: James Nightingale Date: Tue, 26 Mar 2024 13:35:30 +0000 Subject: [PATCH 3/7] refactor analysis quantity --- .../quantity/model/test_analysis_quantity.py | 68 +++++++++---------- 1 file changed, 33 insertions(+), 35 deletions(-) diff --git a/test_autolens/quantity/model/test_analysis_quantity.py b/test_autolens/quantity/model/test_analysis_quantity.py index 2b5c2883a..e17339fcc 100644 --- a/test_autolens/quantity/model/test_analysis_quantity.py +++ b/test_autolens/quantity/model/test_analysis_quantity.py @@ -7,51 +7,49 @@ directory = path.dirname(path.realpath(__file__)) +def test__make_result__result_quantity_is_returned( + dataset_quantity_7x7_array_2d +): + model = af.Collection(galaxies=af.Collection(galaxy_0=al.Galaxy(redshift=0.5))) -class TestAnalysisQuantity: - def test__make_result__result_quantity_is_returned( - self, dataset_quantity_7x7_array_2d - ): - model = af.Collection(galaxies=af.Collection(galaxy_0=al.Galaxy(redshift=0.5))) + analysis = al.AnalysisQuantity( + dataset=dataset_quantity_7x7_array_2d, func_str="convergence_2d_from" + ) - analysis = al.AnalysisQuantity( - dataset=dataset_quantity_7x7_array_2d, func_str="convergence_2d_from" - ) + search = al.m.MockSearch(name="test_search") - search = al.m.MockSearch(name="test_search") + result = search.fit(model=model, analysis=analysis) - result = search.fit(model=model, analysis=analysis) + assert isinstance(result, ResultQuantity) - assert isinstance(result, ResultQuantity) +def test__figure_of_merit__matches_correct_fit_given_galaxy_profiles( + dataset_quantity_7x7_array_2d +): + galaxy = al.Galaxy(redshift=0.5, light=al.mp.Isothermal(einstein_radius=1.0)) - def test__figure_of_merit__matches_correct_fit_given_galaxy_profiles( - self, dataset_quantity_7x7_array_2d - ): - galaxy = al.Galaxy(redshift=0.5, light=al.mp.Isothermal(einstein_radius=1.0)) + model = af.Collection(galaxies=af.Collection(galaxy=galaxy)) - model = af.Collection(galaxies=af.Collection(galaxy=galaxy)) + analysis = al.AnalysisQuantity( + dataset=dataset_quantity_7x7_array_2d, func_str="convergence_2d_from" + ) - analysis = al.AnalysisQuantity( - dataset=dataset_quantity_7x7_array_2d, func_str="convergence_2d_from" - ) + instance = model.instance_from_unit_vector([]) + fit_figure_of_merit = analysis.log_likelihood_function(instance=instance) - instance = model.instance_from_unit_vector([]) - fit_figure_of_merit = analysis.log_likelihood_function(instance=instance) + tracer = analysis.tracer_via_instance_from(instance=instance) - tracer = analysis.tracer_via_instance_from(instance=instance) + fit = al.FitQuantity( + dataset=dataset_quantity_7x7_array_2d, + tracer=tracer, + func_str="convergence_2d_from", + ) - fit = al.FitQuantity( - dataset=dataset_quantity_7x7_array_2d, - tracer=tracer, - func_str="convergence_2d_from", - ) + assert fit.log_likelihood == fit_figure_of_merit - assert fit.log_likelihood == fit_figure_of_merit + fit = al.FitQuantity( + dataset=dataset_quantity_7x7_array_2d, + tracer=tracer, + func_str="potential_2d_from", + ) - fit = al.FitQuantity( - dataset=dataset_quantity_7x7_array_2d, - tracer=tracer, - func_str="potential_2d_from", - ) - - assert fit.log_likelihood != fit_figure_of_merit + assert fit.log_likelihood != fit_figure_of_merit From c7dbdaf1a6d9aa7a8693a5cfb5df2b280584bc3a Mon Sep 17 00:00:00 2001 From: James Nightingale Date: Tue, 26 Mar 2024 13:38:45 +0000 Subject: [PATCH 4/7] fix most of test_result --- test_autolens/analysis/test_result.py | 68 ++++++++++++--------------- 1 file changed, 31 insertions(+), 37 deletions(-) diff --git a/test_autolens/analysis/test_result.py b/test_autolens/analysis/test_result.py index 40e579374..02190fc37 100644 --- a/test_autolens/analysis/test_result.py +++ b/test_autolens/analysis/test_result.py @@ -23,13 +23,7 @@ def test__max_log_likelihood_tracer( ) ) - samples = al.m.MockSamples( - model=model, - max_log_likelihood_instance=tracer_x2_plane_7x7, - prior_means=[1.0] * model.prior_count, - ) - - search = al.m.MockSearch(name="test_search_2", samples=samples) + search = al.m.MockSearch(name="test_search_2") result = search.fit(model=model, analysis=analysis_imaging_7x7) @@ -58,9 +52,9 @@ def test__max_log_likelihood_positions_threshold(masked_imaging_7x7): ] ) - samples = al.m.MockSamples(max_log_likelihood_instance=tracer) + samples_summary = al.m.MockSamplesSummary(max_log_likelihood_instance=tracer) - result = res.Result(samples=samples, analysis=analysis) + result = res.Result(samples_summary=samples_summary, analysis=analysis) assert result.max_log_likelihood_positions_threshold == pytest.approx( 0.8309561230, 1.0e-4 @@ -76,9 +70,9 @@ def test__source_plane_light_profile_centre(analysis_imaging_7x7): tracer = al.Tracer(galaxies=[lens, source]) - samples = al.m.MockSamples(max_log_likelihood_instance=tracer) + samples_summary = al.m.MockSamplesSummary(max_log_likelihood_instance=tracer) - result = res.Result(samples=samples, analysis=analysis_imaging_7x7) + result = res.Result(samples_summary=samples_summary, analysis=analysis_imaging_7x7) assert result.source_plane_light_profile_centre.in_list == [(1.0, 2.0)] @@ -94,9 +88,9 @@ def test__source_plane_light_profile_centre(analysis_imaging_7x7): tracer = al.Tracer(galaxies=[lens, source_0, source_1]) - samples = al.m.MockSamples(max_log_likelihood_instance=tracer) + samples_summary = al.m.MockSamplesSummary(max_log_likelihood_instance=tracer) - result = res.Result(samples=samples, analysis=analysis_imaging_7x7) + result = res.Result(samples_summary=samples_summary, analysis=analysis_imaging_7x7) assert result.source_plane_light_profile_centre.in_list == [(1.0, 2.0)] @@ -110,17 +104,17 @@ def test__source_plane_light_profile_centre(analysis_imaging_7x7): tracer = al.Tracer(galaxies=[lens, source_0, source_1]) - samples = al.m.MockSamples(max_log_likelihood_instance=tracer) + samples_summary = al.m.MockSamplesSummary(max_log_likelihood_instance=tracer) - result = res.Result(samples=samples, analysis=analysis_imaging_7x7) + result = res.Result(samples_summary=samples_summary, analysis=analysis_imaging_7x7) assert result.source_plane_light_profile_centre.in_list == [(5.0, 6.0)] tracer = al.Tracer(galaxies=[al.Galaxy(redshift=0.5)]) - samples = al.m.MockSamples(max_log_likelihood_instance=tracer) + samples_summary = al.m.MockSamplesSummary(max_log_likelihood_instance=tracer) - result = res.Result(samples=samples, analysis=analysis_imaging_7x7) + result = res.Result(samples_summary=samples_summary, analysis=analysis_imaging_7x7) assert result.source_plane_light_profile_centre == None @@ -137,9 +131,9 @@ def test__source_plane_inversion_centre(analysis_imaging_7x7): tracer = al.Tracer(galaxies=[lens, source]) - samples = al.m.MockSamples(max_log_likelihood_instance=tracer) + samples_summary = al.m.MockSamplesSummary(max_log_likelihood_instance=tracer) - result = ResultImaging(samples=samples, analysis=analysis_imaging_7x7) + result = ResultImaging(samples_summary=samples_summary, analysis=analysis_imaging_7x7) assert ( result.source_plane_inversion_centre.in_list[0] @@ -155,9 +149,9 @@ def test__source_plane_inversion_centre(analysis_imaging_7x7): tracer = al.Tracer(galaxies=[lens, source]) - samples = al.m.MockSamples(max_log_likelihood_instance=tracer) + samples_summary = al.m.MockSamplesSummary(max_log_likelihood_instance=tracer) - result = ResultImaging(samples=samples, analysis=analysis_imaging_7x7) + result = ResultImaging(samples_summary=samples_summary, analysis=analysis_imaging_7x7) assert result.source_plane_inversion_centre == None @@ -166,9 +160,9 @@ def test__source_plane_inversion_centre(analysis_imaging_7x7): tracer = al.Tracer(galaxies=[lens, source]) - samples = al.m.MockSamples(max_log_likelihood_instance=tracer) + samples_summary = al.m.MockSamplesSummary(max_log_likelihood_instance=tracer) - result = ResultImaging(samples=samples, analysis=analysis_imaging_7x7) + result = ResultImaging(samples_summary=samples_summary, analysis=analysis_imaging_7x7) assert result.source_plane_inversion_centre == None @@ -189,9 +183,9 @@ def test__source_plane_centre(analysis_imaging_7x7): tracer = al.Tracer(galaxies=[lens, source]) - samples = al.m.MockSamples(max_log_likelihood_instance=tracer) + samples_summary = al.m.MockSamplesSummary(max_log_likelihood_instance=tracer) - result = ResultImaging(samples=samples, analysis=analysis_imaging_7x7) + result = ResultImaging(samples_summary=samples_summary, analysis=analysis_imaging_7x7) assert result.source_plane_centre.in_list[0] == pytest.approx( (-0.916666, -0.916666), 1.0e-4 @@ -220,9 +214,9 @@ def test__image_plane_multiple_image_positions(analysis_imaging_7x7): tracer = al.Tracer(galaxies=[lens, source]) - samples = al.m.MockSamples(max_log_likelihood_instance=tracer) + samples_summary = al.m.MockSamplesSummary(max_log_likelihood_instance=tracer) - result = ResultImaging(samples=samples, analysis=analysis_imaging_7x7) + result = ResultImaging(samples_summary=samples_summary, analysis=analysis_imaging_7x7) multiple_images = result.image_plane_multiple_image_positions @@ -243,9 +237,9 @@ def test__image_plane_multiple_image_positions(analysis_imaging_7x7): ] ) - samples = al.m.MockSamples(max_log_likelihood_instance=tracer) + samples_summary = al.m.MockSamplesSummary(max_log_likelihood_instance=tracer) - result = res.Result(samples=samples, analysis=analysis_imaging_7x7) + result = res.Result(samples_summary=samples_summary, analysis=analysis_imaging_7x7) assert result.image_plane_multiple_image_positions.in_list[0][0] == pytest.approx( 1.0004, 1.0e-2 @@ -268,9 +262,9 @@ def test__positions_threshold_from(analysis_imaging_7x7): ] ) - samples = al.m.MockSamples(max_log_likelihood_instance=tracer) + samples_summary = al.m.MockSamplesSummary(max_log_likelihood_instance=tracer) - result = res.Result(samples=samples, analysis=analysis_imaging_7x7) + result = res.Result(samples_summary=samples_summary, analysis=analysis_imaging_7x7) assert result.positions_threshold_from() == pytest.approx(0.000973519, 1.0e-4) assert result.positions_threshold_from(factor=5.0) == pytest.approx( @@ -297,9 +291,9 @@ def test__positions_likelihood_from(analysis_imaging_7x7): ] ) - samples = al.m.MockSamples(max_log_likelihood_instance=tracer) + samples_summary = al.m.MockSamplesSummary(max_log_likelihood_instance=tracer) - result = res.Result(samples=samples, analysis=analysis_imaging_7x7) + result = res.Result(samples_summary=samples_summary, analysis=analysis_imaging_7x7) positions_likelihood = result.positions_likelihood_from( factor=0.1, minimum_threshold=0.2 @@ -320,7 +314,7 @@ def test__results_include_mask__available_as_property( analysis_imaging_7x7, masked_imaging_7x7, samples_with_result ): result = res.ResultDataset( - samples=samples_with_result, + samples_summary=samples_summary_with_result, analysis=analysis_imaging_7x7, ) @@ -331,7 +325,7 @@ def test__results_include_positions__available_as_property( analysis_imaging_7x7, masked_imaging_7x7, samples_with_result ): result = res.ResultDataset( - samples=samples_with_result, + samples_summary=samples_summary_with_result, analysis=analysis_imaging_7x7, ) @@ -346,7 +340,7 @@ def test__results_include_positions__available_as_property( ) result = res.ResultDataset( - samples=samples_with_result, + samples_summary=samples_summary_with_result, analysis=analysis, ) @@ -362,7 +356,7 @@ def test___image_dict(analysis_imaging_7x7): instance.galaxies = galaxies result = ResultImaging( - samples=al.m.MockSamples(max_log_likelihood_instance=instance), + samples_summary=al.m.MockSamplesSummary(max_log_likelihood_instance=instance), analysis=analysis_imaging_7x7, ) From 9706a9cb3dedf8c7ead9c63c4de1e68eae389ec8 Mon Sep 17 00:00:00 2001 From: James Nightingale Date: Tue, 26 Mar 2024 13:39:55 +0000 Subject: [PATCH 5/7] fix rest of test_Result --- test_autolens/analysis/test_result.py | 4 ++-- test_autolens/conftest.py | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/test_autolens/analysis/test_result.py b/test_autolens/analysis/test_result.py index 02190fc37..ab2b4f390 100644 --- a/test_autolens/analysis/test_result.py +++ b/test_autolens/analysis/test_result.py @@ -311,7 +311,7 @@ def test__positions_likelihood_from(analysis_imaging_7x7): def test__results_include_mask__available_as_property( - analysis_imaging_7x7, masked_imaging_7x7, samples_with_result + analysis_imaging_7x7, masked_imaging_7x7, samples_summary_with_result ): result = res.ResultDataset( samples_summary=samples_summary_with_result, @@ -322,7 +322,7 @@ def test__results_include_mask__available_as_property( def test__results_include_positions__available_as_property( - analysis_imaging_7x7, masked_imaging_7x7, samples_with_result + analysis_imaging_7x7, masked_imaging_7x7, samples_summary_with_result ): result = res.ResultDataset( samples_summary=samples_summary_with_result, diff --git a/test_autolens/conftest.py b/test_autolens/conftest.py index b4442adec..b5ceb2edf 100644 --- a/test_autolens/conftest.py +++ b/test_autolens/conftest.py @@ -391,6 +391,6 @@ def make_include_all(): return fixtures.make_include_2d_all() -@pytest.fixture(name="samples_with_result") -def make_samples_with_result(): - return fixtures.make_samples_with_result() +@pytest.fixture(name="samples_summary_with_result") +def make_samples_summary_with_result(): + return fixtures.make_samples_summary_with_result() From 8fcaae0851674a929339cd3f122ad54d6389f9b1 Mon Sep 17 00:00:00 2001 From: James Nightingale Date: Tue, 26 Mar 2024 13:54:54 +0000 Subject: [PATCH 6/7] refacot complete --- test_autolens/imaging/model/test_result_imaging.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/test_autolens/imaging/model/test_result_imaging.py b/test_autolens/imaging/model/test_result_imaging.py index 89703e819..9263e2e8b 100644 --- a/test_autolens/imaging/model/test_result_imaging.py +++ b/test_autolens/imaging/model/test_result_imaging.py @@ -1,4 +1,3 @@ -import numpy as np import pytest import autofit as af @@ -15,9 +14,9 @@ def test___linear_light_profiles_in_result(analysis_imaging_7x7): instance = af.ModelInstance() instance.galaxies = galaxies - samples = al.m.MockSamples(max_log_likelihood_instance=instance) + samples_summary = al.m.MockSamplesSummary(max_log_likelihood_instance=instance) - result = ResultImaging(samples=samples, analysis=analysis_imaging_7x7) + result = ResultImaging(samples_summary=samples_summary, analysis=analysis_imaging_7x7) assert not isinstance( result.max_log_likelihood_tracer.galaxies[0].bulge, From 448434b0c0c855f6cb3a9eaaa6db0d9ebb8f83ec Mon Sep 17 00:00:00 2001 From: James Nightingale Date: Tue, 26 Mar 2024 14:04:36 +0000 Subject: [PATCH 7/7] disable check likelihood --- test_autolens/config/general.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/test_autolens/config/general.yaml b/test_autolens/config/general.yaml index 824254fa0..e06e1b19d 100644 --- a/test_autolens/config/general.yaml +++ b/test_autolens/config/general.yaml @@ -36,8 +36,7 @@ profiling: perform: true repeats: 1 test: - check_figure_of_merit_sanity: false - bypass_figure_of_merit_sanity: true + check_likelihood_function: false # if True, when a search is resumed the likelihood of a previous sample is recalculated to ensure it is consistent with the previous run. check_preloads: false exception_override: false preloads_check_threshold: 1.0 # If the figure of merit of a fit with and without preloads is greater than this threshold, the check preload test fails and an exception raised for a model-fit.