Releases: neurodata/ProgLearn
Releases · neurodata/ProgLearn
Add 3.9 compatibility & rename algorithms & improve package requirements
v0.0.7
Added Features
- Include
python
3.9 compatibility checks - Add new experiment & tutorial notebooks
Bug Fixes
- Fix
black
formatting on notebooks & scripts - Resolve dependency conflicts
Documentation Fixes
- Optimize package dependencies in
requirements.txt
- Update algorithm descriptions to
Synergistic Forests (SynF)
andSynergistic Networks (SynN)
Optimize class inheritance & improve test coverage
v0.0.6
Added Features
LifelongClassificationForest
andLifelongClassificationNetwork
now use attributes & functions fromClassificationProgressiveLearner
.- Add tests for transformers, forests and networks, increasing code coverage.
CircleCI
now automatically pushes repo releases topip
.- Let
UncertaintyForest
inherit fromLifelongClassificationForest
.
Bug Fixes
- Correct
network_construction_proportion
todefault_network_construction_proportion
inLifelongClassificationNetwork.add_task
. - Update
keras
imports for notebooks.
Documentation Fixes
- Optimize API references.
- Update issue templates.
- Add
black
format checks for benchmarks & notebooks. - Add attributes to forest & network docstrings
Optimize experiment notebooks & fix keras import
v0.0.5
Bug Fixes
- Changed from
keras
totensorflow.keras
. - Remove 2D array check in
NeuralClassificationTransformer
.
Documentation Fixes
- Separated notebooks into
experiments
&tutorials
. - Optimized API references & removed internal functions.
- Added
CITATION.cff
for software citations. - Updated
Zenodo
badge.
Switch to CircleCI and bug fixes
v0.0.4
Added Features
- Switched to CircleCI for code testing.
Bug Fixes
- Specified
classes
parameter ofTreeClassificationVoter
andKNNClassificationVoter
to be formatted asnp.asarray
. - Relocated the initialization of
lf_
attribute forUncertaintyForest
to thefit
function. Alloweduncertaintyforest_posteriorestimates.ipynb
benchmark to run as intended. - Fixed the decider data splitting in the
set_decider
function ofProgressiveLearner
. Let the decider use its allotted data set bydecider_idx = self.task_id_to_decider_idx[task_id]
. - Specified new
numpy
version inrequirements.txt
to both resolve version conflicts withtensorflow
and maintain support for Python 3.6.
Documentation Fixes
- Included "Tutorial Guidelines" in
contributing.rst
for better online display. - Updated and added badges.
LLCF/UF parameter renaming, bug fixes, documentation rendering, minimization
v0.0.3
Added Features
- Added
n_estimators
to LifelongClassificationForestsadd_{task, transformer}
functions. This allows each task to have a different number of trees. - Previously, the classes in forest.py used
finite_sample_correction
with the only possible value ofkappa
being 1. We added the ability to set anykappa
.
Bug Fixes
- Previously, the default values of all model parameters to LifelongClassification{Forest, Network}
add_{task, transformer}
functions were None. The value of None indicated to use the default model parameter specified in the instantiation of the LifelongClassification{Forest, Network}. But, this meant that a user would be unable to train a new tree transformer to purity (by setting max_depth = None) unlessdefault_max_depth
was None. This is an undesirable restriction. So, we changed the default value of all model parameters to LifelongClassification{Forest, Network}add_{task, transformer}
functions to the string "default" - this indicates to use the default model parameter specified in the instantiation of the LifelongClassification{Forest, Network}. - Updated selection of {transformer, voter, decider} data to be without replacement.
- Previously, we were encountering issues when the voters across bags would output posteriors of different lengths (caused by only training on a subset of the classes). We manually fixed these to ensure that all voters across bags output the same number of classes, by appending 0's to missing classes in the voter posterior estimates.
- Type checked all inputs X, y to {network, forest}.py classes.
Documentation Fixes
- Previously, many of the docs did not render correctly in Sphinx because they were formatted incorrectly. We fixed this formatting error and now all documentation renders correctly in Sphinx (and thus the web docs).
Presentation Changes
transformer_voter_decider_split
was changed tonetwork_construction_proportion
in network.py- Minimized documentation and Python Package to only expose well-documented, tested functions that are described in the paper
Documentation Simplification and Webpage Hosting
ProgLearn v0.0.2 updates the content and presentation of the documentation.
Documentation Updates
- We converted the documentation to be hosted at proglearn.neurodata.io
- We converted the documentation style to follow that of hyppo (https://github.com/neurodata/hyppo)
Repository Updates
- We refactored the repository folders to follow the structure of hyppo (https://github.com/neurodata/hyppo)
Pre-Release to Match PyPi
ProgLearn v0.0.1 is the culmination of 12 months worth of work. It contains the initial implementations, tutorials, and documentation of the Progressive Learning package. This version does NOT contain the completed documentation, overview, or tutorials. Development will continue on this branch towards the completion of at least documentation, overview, and tutorials. After the next release, our usage of the various branches will likely change.