PyAutoFit Versions Save

PyAutoFit: Classy Probabilistic Programming

2024.5.16.0

2 weeks ago

PyAutoFit:

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

2024.1.27.4

4 months ago
  • Stability upgrades for change from .pickle to .json files.
  • JAX implementation improved, still in development.
  • Sensitivity mapping improvements.

2023.10.23.3

7 months ago
  • Support for Python 3.11 by updating requirement on core libraries (e.g. numpy, scipy, scikit-learn).
  • Fix issues with sqlite database following switch from .pickle outputs to .json / .fits / .csv.
  • Database use of Samples object much more efficient.
  • Fix bug where nautilus parallel fits sometimes crashed.
  • Fix bug where nautilus single CPU fits did not work.

2023.9.18.4

8 months ago

This release implements two major changes to PyAutoFit:

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 PyAutoFit:

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.

Nautilus

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

This release implements this.

2023.7.5.2

10 months ago

Bug fixes for new MacOS parallelization.

No new features.

2023.6.12.5

11 months ago
  • Improvements to combined analyses (e.g. summed Analysis objects to fit multipole datasets), for example better output paths for visualization, options to visualize before a fit and making combined figures across analyses:

https://github.com/rhayes777/PyAutoFit/pull/715 https://github.com/rhayes777/PyAutoFit/pull/703 https://github.com/rhayes777/PyAutoFit/pull/701 https://github.com/rhayes777/PyAutoFit/pull/696

  • Database support for combined analyses:

https://github.com/rhayes777/PyAutoFit/pull/708

  • Sensitivity mapping visualization improvements:

https://github.com/rhayes777/PyAutoFit/pull/711

  • Improvements to graphical models:

https://github.com/rhayes777/PyAutoFit/pull/712 https://github.com/rhayes777/PyAutoFit/pull/709

2023.3.21.5

1 year ago

This is the latest version, which primarily brings in stability upgrades and fixes bugs.

2022.07.11.1

1 year ago

2022.05.02.1

2 years ago
  • Can make a parameter free across al combined analysis objects (docs / cookbook to be written):
analysis = sum(analysis_list)
analysis = analysis.with_free_parameters(
    model.parameter, 
)
  • Model composition using relations (cookbook to be written):
x_list = [464, 658, 806]

m = af.UniformPrior(lower_limit=-0.1, upper_limit=0.1)
c = af.UniformPrior(lower_limit=-10.0, upper_limit=10.0)

analysis_list = []

for x, imaging in zip(x_list, imaging_list):

    y = af.Add(af.Multiply(x, m), c)

    analysis_list.append(
        al.AnalysisImaging(dataset=imaging).with_model(
            model.replacing(
                {
                    model.gaussian.x: gaussian.x,
                }
            )
        )
    )
  • Tutorials for fitting a hierarchical model outside of EP.

https://github.com/Jammy2211/autofit_workspace/tree/release/notebooks/howtofit/chapter_graphical_models

  • Stability upgrades to EP framework.