Skip to content

Releases: neurodata/ProgLearn

Add 3.9 compatibility & rename algorithms & improve package requirements

17 Mar 01:27
56fe623
Compare
Choose a tag to compare

v0.0.7

Added Features

  1. Include python 3.9 compatibility checks
  2. Add new experiment & tutorial notebooks

Bug Fixes

  1. Fix black formatting on notebooks & scripts
  2. Resolve dependency conflicts

Documentation Fixes

  1. Optimize package dependencies in requirements.txt
  2. Update algorithm descriptions to Synergistic Forests (SynF) and Synergistic Networks (SynN)

Optimize class inheritance & improve test coverage

21 Oct 17:16
31b0f3d
Compare
Choose a tag to compare

v0.0.6

Added Features

  1. LifelongClassificationForest and LifelongClassificationNetwork now use attributes & functions from ClassificationProgressiveLearner.
  2. Add tests for transformers, forests and networks, increasing code coverage.
  3. CircleCI now automatically pushes repo releases to pip.
  4. Let UncertaintyForest inherit from LifelongClassificationForest.

Bug Fixes

  1. Correct network_construction_proportion to default_network_construction_proportion in LifelongClassificationNetwork.add_task.
  2. Update keras imports for notebooks.

Documentation Fixes

  1. Optimize API references.
  2. Update issue templates.
  3. Add black format checks for benchmarks & notebooks.
  4. Add attributes to forest & network docstrings

Optimize experiment notebooks & fix keras import

19 Sep 16:59
894d259
Compare
Choose a tag to compare

v0.0.5

Bug Fixes

  1. Changed from keras to tensorflow.keras.
  2. Remove 2D array check in NeuralClassificationTransformer.

Documentation Fixes

  1. Separated notebooks into experiments & tutorials.
  2. Optimized API references & removed internal functions.
  3. Added CITATION.cff for software citations.
  4. Updated Zenodo badge.

Switch to CircleCI and bug fixes

04 Feb 04:57
9f799b4
Compare
Choose a tag to compare

v0.0.4

Added Features

  1. Switched to CircleCI for code testing.

Bug Fixes

  1. Specified classes parameter of TreeClassificationVoter and KNNClassificationVoter to be formatted as np.asarray.
  2. Relocated the initialization of lf_ attribute for UncertaintyForest to the fit function. Allowed uncertaintyforest_posteriorestimates.ipynb benchmark to run as intended.
  3. Fixed the decider data splitting in the set_decider function of ProgressiveLearner. Let the decider use its allotted data set by decider_idx = self.task_id_to_decider_idx[task_id].
  4. Specified new numpy version in requirements.txt to both resolve version conflicts with tensorflow and maintain support for Python 3.6.

Documentation Fixes

  1. Included "Tutorial Guidelines" in contributing.rst for better online display.
  2. Updated and added badges.

LLCF/UF parameter renaming, bug fixes, documentation rendering, minimization

17 Nov 03:25
671ff6a
Compare
Choose a tag to compare

v0.0.3

Added Features

  1. Added n_estimators to LifelongClassificationForests add_{task, transformer} functions. This allows each task to have a different number of trees.
  2. Previously, the classes in forest.py used finite_sample_correction with the only possible value of kappa being 1. We added the ability to set any kappa.

Bug Fixes

  1. 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) unless default_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}.
  2. Updated selection of {transformer, voter, decider} data to be without replacement.
  3. 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.
  4. Type checked all inputs X, y to {network, forest}.py classes.

Documentation Fixes

  1. 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

  1. transformer_voter_decider_split was changed to network_construction_proportion in network.py
  2. Minimized documentation and Python Package to only expose well-documented, tested functions that are described in the paper

Documentation Simplification and Webpage Hosting

15 Oct 17:32
9ee05b7
Compare
Choose a tag to compare

ProgLearn v0.0.2 updates the content and presentation of the documentation.

Documentation Updates

  1. We converted the documentation to be hosted at proglearn.neurodata.io
  2. We converted the documentation style to follow that of hyppo (https://github.com/neurodata/hyppo)

Repository Updates

  1. We refactored the repository folders to follow the structure of hyppo (https://github.com/neurodata/hyppo)

Pre-Release to Match PyPi

30 Sep 19:54
9ee05b7
Compare
Choose a tag to compare

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.