Recent Releases of PyAutoFit
PyAutoFit - May 2025
- Remove Analysis summing API, replacing all dataset combinations with
AnalysisFactorandFactorGraphModelAPI used for graphical modeling:
https://github.com/Jammy2211/autofitworkspace/blob/main/notebooks/cookbooks/multipledatasets.ipynb
- Results workflow API, which generates .csv, .png and .fits files of large libraries of results for quick and efficient inspection:
https://github.com/Jammy2211/autolens_workspace/tree/main/notebooks/results/workflow
- Latent variable API bug fixes and now used in some test example scripts.
Scientific Software - Peer-reviewed
- Python
Published by Jammy2211 8 months ago
PyAutoFit - January 2025
This update is mostly bug fixes and small improvements, with no major new functionality added.
What's Changed
- Feature/enviroment warning by @Jammy2211 in https://github.com/rhayes777/PyAutoFit/pull/1077
- cache hdus to avoid object deletion causing files to be closed by @rhayes777 in https://github.com/rhayes777/PyAutoFit/pull/1081
- feature/constant comparison by @rhayes777 in https://github.com/rhayes777/PyAutoFit/pull/1080
- Remove database test path by @Jammy2211 in https://github.com/rhayes777/PyAutoFit/pull/1083
- analysissummedlatent by @Jammy2211 in https://github.com/rhayes777/PyAutoFit/pull/1084
- monkey patch abstract_search.gc during testing to prevent expensive calls to gc.collect() by @rhayes777 in https://github.com/rhayes777/PyAutoFit/pull/1088
- feature/aggregate summary by @rhayes777 in https://github.com/rhayes777/PyAutoFit/pull/1089
Full Changelog: https://github.com/rhayes777/PyAutoFit/compare/2024.11.13.2...2025.1.18.7
Scientific Software - Peer-reviewed
- Python
Published by Jammy2211 11 months ago
PyAutoFit - November 2024 update
Garbage collection and other things to improve memory use.
Scientific Software - Peer-reviewed
- Python
Published by Jammy2211 about 1 year ago
PyAutoFit - November 2024
Minor release with stability updates and one main feature.
Sensitivity Mapping improvements.
Start point for MCMC.
Scientific Software - Peer-reviewed
- Python
Published by Jammy2211 about 1 year ago
PyAutoFit - September 2024
This release updates all projects to support Python 3.12, with support tested for Python 3.9 - 3.12 and 3.11 regarded as most stable.
This includes many project dependency updates:
https://github.com/rhayes777/PyAutoFit/blob/main/requirements.txt https://github.com/rhayes777/PyAutoFit/blob/main/optional_requirements.txt
PyAutoFit:
https://github.com/rhayes777/PyAutoFit/pulls?q=is%3Apr+is%3Aclosed
- Improvements to HowToFit lectures: https://github.com/rhayes777/PyAutoFit/pull/1022
- Support for NumPy arrays in model composition and prior creation, for example creating an
ndarrayof inputshapewhere each value is a free parameter in the seach: https://github.com/rhayes777/PyAutoFit/pull/1021 - Name of
optimizesearches renamed tomle, for maximum likelihood estimator, with improvements to visualization: https://github.com/rhayes777/PyAutoFit/pull/1029 - Improvement to sensitivity mapping functionality and results: https://github.com/rhayes777/PyAutoFit/pulls?q=is%3Apr+is%3Aclosed
- More improvements to JAX Pytree interface, documentation still to come.
Scientific Software - Peer-reviewed
- Python
Published by Jammy2211 over 1 year ago
PyAutoFit - May 2024
PyAutoFit:
Nautilusnow outputs results on the fly: https://github.com/rhayes777/PyAutoFit/pull/961- Output latent samples of a model-fit, which are parameters derived from a model which may be marginalized over:
PR: https://github.com/rhayes777/PyAutoFit/pull/994 Example: https://github.com/Jammy2211/autofit_workspace/blob/release/notebooks/cookbooks/analysis.ipynb
model.infofile displays complex models in a more concise and readable way: https://github.com/rhayes777/PyAutoFit/pull/1012- All samples with a weight below an input value are now removed from
samples.csvto save hard disk space: https://github.com/rhayes777/PyAutoFit/pull/979 - Documentation describing autofit scientific workflow: https://github.com/rhayes777/PyAutoFit/pull/1011
- Refactor visualization into stand alone module: https://github.com/rhayes777/PyAutoFit/pull/995
- Refactor how results are returned after a search: https://github.com/rhayes777/PyAutoFit/pull/989
- Improved parallelism logging: https://github.com/rhayes777/PyAutoFit/pull/1009
- Likelihood consistency check now performed internally: https://github.com/rhayes777/PyAutoFit/pull/987
- Generation of initial search samples is now performed in parallel: https://github.com/rhayes777/PyAutoFit/pull/997
- No longer store
search_internalon hard-disk. simplifying source code internals: https://github.com/rhayes777/PyAutoFit/pull/938 - Multiple small bug fixes and improvements to interface.
Scientific Software - Peer-reviewed
- Python
Published by Jammy2211 over 1 year ago
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.
Scientific Software - Peer-reviewed
- Python
Published by Jammy2211 almost 2 years ago
PyAutoFit - 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.
Scientific Software - Peer-reviewed
- Python
Published by Jammy2211 about 2 years ago
PyAutoFit - 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.
Scientific Software - Peer-reviewed
- Python
Published by Jammy2211 over 2 years ago
PyAutoFit - July (2023.5.7.2)
Bug fixes for new MacOS parallelization.
No new features.
Scientific Software - Peer-reviewed
- Python
Published by Jammy2211 over 2 years ago
PyAutoFit - 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:
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
Scientific Software - Peer-reviewed
- Python
Published by Jammy2211 over 2 years ago
PyAutoFit - March 2023 (2023.3.27.1)
- Update to
dynesty2.1.0, which avoids errors when sampling flat likelihood functions. - Support filtering for the as_model function which generates a model from a previous result
- Cubic spline interpolation of model results with shared parameter (e.g. time varying models)
- General bug fixes.
Scientific Software - Peer-reviewed
- Python
Published by Jammy2211 over 2 years ago
PyAutoFit - March 2023 (2023.3.21.5)
This is the latest version, which primarily brings in stability upgrades and fixes bugs.
Scientific Software - Peer-reviewed
- Python
Published by Jammy2211 almost 3 years ago
PyAutoFit - 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 (https://github.com/rhayes777/PyAutoFit/pull/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 (https://github.com/rhayes777/PyAutoFit/pull/559). The example tutorial script for this feature is not written yet.
Faster generation of models by sampling better within the prior limits (https://github.com/rhayes777/PyAutoFit/pull/558).
Scientific Software - Peer-reviewed
- Python
Published by Jammy2211 over 3 years ago
PyAutoFit -
- 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(lowerlimit=-0.1, upperlimit=0.1) c = af.UniformPrior(lowerlimit=-10.0, upperlimit=10.0)
analysis_list = []
for x, imaging in zip(xlist, imaginglist):
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/autofitworkspace/tree/release/notebooks/howtofit/chaptergraphical_models
- Stability upgrades to EP framework.
Scientific Software - Peer-reviewed
- Python
Published by Jammy2211 over 3 years ago
PyAutoFit - 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.
Scientific Software - Peer-reviewed
- Python
Published by Jammy2211 over 3 years ago
PyAutoFit - March 2022
- Sensitivity mapping now have options for customizing priors on the sensitivity component.
- New API for aspects of graphical models.
Scientific Software - Peer-reviewed
- Python
Published by Jammy2211 almost 4 years ago
PyAutoFit - 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:
https://github.com/Jammy2211/autofitworkspace/tree/release/notebooks/howtofit/chaptergraphical_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.
Scientific Software - Peer-reviewed
- Python
Published by Jammy2211 almost 4 years ago
PyAutoFit - Summer Release
We have switched to a date-based numbering system, with a long-term to do an overnight build nightly.
- Add scipy LBFGS as optimizer.
- Fixed bugs where building of database via scrape method would not support all queries.
- Database and Aggregator support for GridSearch objects and results.
- Improvements to unique identifier including option to exclude certain values from being tracked.
- Interal storage of mappings between priors and model now uses the string representation of the prior with an id, to ensure there is no ambuigity in matching,
- Further development on graphical modeling framework, primarily refactoring of existing code.
Scientific Software - Peer-reviewed
- Python
Published by Jammy2211 over 4 years ago
PyAutoFit - First release for Zenodo
Scientific Software - Peer-reviewed
- Python
Published by rhayes777 almost 5 years ago