Skip to content

Releases: Jammy2211/PyAutoCTI

Journal of Open Source Software

28 May 09:23
b434b75
Compare
Choose a tag to compare

This release corresponds to the Journal of Open Source Software (JOSS) publication of PyAutoCTI.

PyAutoFit:

  • Nautilus now outputs results on the fly: rhayes777/PyAutoFit#961
  • Output latent samples of a model-fit, which are parameters derived from a model which may be marginalized over:

PR: rhayes777/PyAutoFit#994
Example: https://github.com/Jammy2211/autofit_workspace/blob/release/notebooks/cookbooks/analysis.ipynb

May 2024

16 May 10:38
ec14aa0
Compare
Choose a tag to compare

This release corresponds to the Journal of Open Source Software (JOSS) publication of PyAutoCTI.

PyAutoFit:

  • Nautilus now outputs results on the fly: rhayes777/PyAutoFit#961
  • Output latent samples of a model-fit, which are parameters derived from a model which may be marginalized over:

PR: rhayes777/PyAutoFit#994
Example: https://github.com/Jammy2211/autofit_workspace/blob/release/notebooks/cookbooks/analysis.ipynb

October 2023 (2023.10.23.3)

23 Oct 13:07
Compare
Choose a tag to compare
  • Support for Python 3.11 by updating requirement on core libraries (e.g. numpy, scipy, scikit-learn).
  • Remove use of np,ma module which is not supported by Python3.11 libraries.
  • Fix issues with sqlite database following switch from .pickle outputs to .json / .fits / .csv.
  • Database use of Samples object much more efficient.
  • Methods to output classes to hard-disk (e.g. output_to_json, from_json, to_dict) are now all handled and called from autoconf.
  • Fix bug where nautilus parallel fits sometimes crashed.
  • Fix bug where nautilus single CPU fits did not work.

September (v2023.9.18.4)

18 Sep 13:16
Compare
Choose a tag to compare

This release implements two major changes to PyAutoCTI:

Nautilus:

For the past ~3 years, model fitting has used the nested sampling algorithm Dynesty.

Recently, a new nested sampler, Nautilus (https://nautilus-sampler.readthedocs.io/en/stable/), was released, which uses machine-learning based techniques to improve sampling.

Extensive testing of modeling with Nautilus has revealed that it:

  • Speeds up the fitting of simple models by ~x2 - x3.
  • Speeds up the fitting of complex models by ~x3 - x5+.
  • Is more robust and reliable (e.g less likely to infer a local maxima, can fit more complex lens models).
  • Controlled predominantly by just one parameter n_live, so is simpler to use than dynesty.
  • Parallelization using Python multiprocessing is more efficient than dynesty and now supports proper error handling.

Nautilus is therefore now the default modeler, with all workspace examples updated accordingly.

NOTE: Nautilus does not currently support on-the-fly output and to get the results of a lens model mid-fit a user can instead cancel the run (e.g. via Ctrl + C) and restart it, where the maximum likelihood model will be output.

Results Output

Result metadata was previously output as .pickle files, which were not human readable and depended on project imports, hurting backwards compatibility.

All metadata is now output as human readable .json files and dataset as .fits files, making it a lot more straight forward for a user to interpret how data is stored internally within PyAutoCTI:

image

Here is an example of the search.json file:

image

All internal functionality (e.g. the sqlite database) has been updated to use these files.

All workspace documentation has been updated accordingly.

Other:

  • Update certain requirements (e.g. PyYAML) to mitigate installation issues (rhayes777/PyAutoConf#41).
  • Lots of quality-of-life improvements thoughout the code bases.

July (2023.5.7.2)

05 Jul 15:32
Compare
Choose a tag to compare

Bug fixes for new MacOS parallelization.

No new features.

June 2023 (2023.6.12.5)

07 Jun 10:59
Compare
Choose a tag to compare
  • Database support now mature:

#47
https://github.com/Jammy2211/autocti_workspace/tree/main/scripts/dataset_1d/advanced/database

  • Significant improvements to visualization:

#45
#46
#42
#40

  • Charge noise functionality now in charge injection imaging:

#43