Releases: PyAutoLabs/PyAutoFit
January 2024 (2024.1.27.4)
- Stability upgrades for change from .pickle to .json files.
- JAX implementation improved, still in development.
- Sensitivity mapping improvements.
October 2023 (2023.10.23.3)
- 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
.pickleoutputs to.json/.fits/.csv. - Database use of
Samplesobject much more efficient. - Fix bug where
nautilusparallel fits sometimes crashed. - Fix bug where
nautilussingle CPU fits did not work.
September (v2023.9.18.4)
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:
Here is an example of the search.json file:
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.
July (2023.5.7.2)
Bug fixes for new MacOS parallelization.
No new features.
June 2023 (2023.6.12.5)
- Improvements to combined analyses (e.g. summed
Analysisobjects to fit multipole datasets), for example better output paths for visualization, options to visualize before a fit and making combined figures across analyses:
- Database support for combined analyses:
- Sensitivity mapping visualization improvements:
- Improvements to graphical models:
March 2023 (2023.3.27.1)
March 2023 (2023.3.21.5)
This is the latest version, which primarily brings in stability upgrades and fixes bugs.
July 11 2022 Release
-
Starting point API for starting an MCMC fit with walkers in certain positions or maximum likelihood estimator fit with a start point implemented (#562). The example tutorial script for this feature is not written yet.
-
Dynamic delta scaling in expectation propagation fits, which prevent over confident result due to error underestimation (#559). The example tutorial script for this feature is not written yet.
-
Faster generation of models by sampling better within the prior limits (#558).
2022.05.02.1
- 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.
- Stability upgrades to EP framework.
March 30 2022
- Support for Python 3.9, 3.10.
LogGaussianPriorimplemented.- Simultaneous fitting of hieraerchical models (E.g. not just via EP) supported.
- Minor updates to graphical model API.

