Releases: PyAutoLabs/PyAutoFit
Release list
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.
March 2022
- Sensitivity mapping now have options for customizing priors on the sensitivity component.
- New API for aspects of graphical models.
Winter 2022 Release
This release primarily includes a lot of continued develop of the graphical modeling framework:
https://pyautofit.readthedocs.io/en/latest/features/graphical.html
There are now 4 fully functional tutorials on graphical models in the autofit_workspace, which include expectation propagation and hierarchical models:
The release contains a lot of small improvements and additional features to the database, search grid search and general model-fitting. These are documented throughout the autofit_workspace.

