GFDL 0.1.0 Release Notes#

Gradient free deep learning (GFDL) 0.1.0 is the culmination of 6 months of hard work. This first release contains three new estimators. Our development attention will now shift to bug-fix releases on the 0.1.x branch, and on adding new features on the main branch.

This release requires Python 3.12-3.14.

Highlights of this release#

  • The new GFDLClassifier is an estimator offering single and multi-layer random vector functional link (RVFL) and extreme learning machine (ELM) gradient-free neural networks. A regression equivalent, GFDLRegressor has also been added.

  • The new EnsembleGFDLClassifier offers a connected ensemble of estimators for multi-layer RVFLs that contribute to model output via soft or hard voting.

New features#

gfdl.model improvements#

Authors#

  • Name (commits)

  • Navamita Ray (138)

  • Tyler Reddy (149) +

  • Emma Viani (66) +

    A total of 3 people contributed to this release. People with a “+” by their names contributed a patch for the first time. This list of names is automatically generated, and may not be fully complete.

Issues closed for 0.1.0#

  • #11: MAINT, BLD, DOC: project/estimator renaming

  • #12: BUG, ENH: Discrepancy between GrafoRVFL and RVFLRegressor for…

  • #20: DOC: landing page estimator list

  • #21: DOC: landing page example – fix the seed

  • #22: DOC: range description improvement

  • #23: DOC: activations module docstring

  • #24: DOC: identity activation function return value description

  • #25: DOC: coeff_ estimator attribution clarification

  • #26: DOC, CI: lint weights.py with numpydoc in the CI

  • #27: DOC: missing space in hidden_layer_sizes parameter

  • #28: DOC: several weights function have unused kwargs

  • #29: DOC: remove justification(s) for weight function abstractions?

  • #30: DOC: ChatGPT ref in docs

  • #31: DOC: He normal distribution return doc

  • #34: DOC, MAINT: conf.py GITHUB_REF likely not correct

  • #38: MAINT: CPython (and maybe other dep) runtime version checks

  • #43: DOC, MAINT: adding repo source URL to pyproject.toml

Pull requests for 0.1.0#

  • #2: CI, BLD: support wheel builds, test in CI

  • #3: DOC: start adding numpydoc docstrings

  • #5: MAINT, CI: trove classifiers for PyPI; Windows testing

  • #6: MAINT: remove scripts from lib project

  • #7: DOC: README updates

  • #8: DOC: add BSD 3-clause license

  • #9: WIP, MAINT: remove dependence on graforvfl

  • #10: MAINT: module top cleanups

  • #14: CI, TST : Increase tolerance for Grafo checks.

  • #15: MNT: renaming RVFL to GFDL for consistency in repo

  • #16: CI: test wheels on Windows

  • #17: DOC, MAINT: tools script for release notes lists

  • #18: DOC, MAINT: tools script for author list

  • #36: MAINT, REL: set version to 0.1.0.dev0

  • #39: DOC: document the process for releasing

  • #40: ENH: control rtol for regressor

  • #41: CI, DOC: lint weights.py in CI

  • #42: DOC: landing page improvements

  • #44: ENH, TST: Add rtol to classifier and a test.

  • #45: ENH, TST: Add rtol for ensemble estimators and a test.

  • #46: DOC, MAINT: repo source to pyproject.toml

  • #48: DOC: Update branch name for source linking

  • #49: DOC: Use default rng in landing page example

  • #50: DOC: Remove plural

  • #51: CI: run on maintenance branches as well

  • #52: DOC: Addresses multiple doc related issues

  • #54: MAINT: runtime min version enforcement