Releases: python-adaptive/adaptive
Releases · python-adaptive/adaptive
version 0.9.0
Since 0.8.0 we fixed the following issues:
- #217 Command-line tool
- #211 Defining inside main() in multiprocess will report error
- #208 Inquiry on implementation of parallelism on the cluster
- #207 PyYAML yaml.load(input) Deprecation
- #203 jupyter-sphinx update Documentation enhancement
- #199 jupyter-sphinx is pinned to non-existing branch
and merged the following Pull requests:
- #219 pass value_scale to the LearnerND's loss_per_simplex function
- #209 remove MPI4PY_MAX_WORKERS where it's not used
- #204 use jupyter_sphinx v0.2.0 from conda instead of my branch
- #200 ensure atomic writes when saving a file
- #193 Add a SequenceLearner
- #188 BalancingLearner: add a "cycle" strategy, sampling the learners one by one
- #202 Authors
- #201 Update tutorial.parallelism.rst
- #197 Add option to display a progress bar when loading a BalancingLearner
- #195 don't treat the no data case differently in the Learner1D Learner1D
- #194 pin everything in the docs/environment.yml file
version 0.8.0
Since 0.7.0 we fixed the following issues:
- #7 suggested points lie outside of domain Learner2D
- #39 What should learners do when fed the same point twice
- #159 BalancingLearner puts all points in the first child-learner when asking for points with no data present
- #148 Loading data file with no data results in an error for the BalancingLearner
- #145 Returning np.nan breaks the 1D learner
- #54 Make learnerND datastructures immutable where possible
- gitlab:#134 Learner1D.load throws exception when file is empty
- #166 live_plot broken with latest holoviews and bokeh
- #156 Runner errors for Python 3.7 when done
- #159 BalancingLearner puts all points in the first child-learner when asking for points with no data present
- #171 default loss of LearnerND changed?
- #163 Add a page to the documentation of papers where adaptive is used
- #179 set python_requires in setup.py
- #175 Underlying algorithm and MATLAB integration
and merged the following Pull requests:
- gitlab:!141: change the simplex_queue to a SortedKeyList
- gitlab:!142: make methods private in the LearnerND, closes #54
- #162 test flat bands in the LearnerND
- #161 import Iterable and Sized from collections.abc
- #160 Distribute first points in a BalancingLearner
- #153 invoke conda directly in CI
- #152 fix bug in curvature_loss Learner1D bug
- #151 handle NaN losses and add a test, closes #145
- #150 fix _get_data for the BalancingLearner
- #149 handle empty data files when loading, closes #148
- #147 remove _deepcopy_fix and depend on sortedcollections >= 1.1
- #168 Temporarily fix docs
- #167 fix live_plot
- #164 do not force shutdown the executor in the cleanup
- #172 LearnerND: change the required loss to 1e-3 because the loss definition changed
- #177 use the repo code in docs execute
- #176 do not inline the HoloViews JS
- #174 add a gallery page of Adaptive uses in scientific works
- #170 Add logo to the documentation
- #180 use setup(..., python_requires='>=3.6'), closes #179
- #182 2D: do not return points outside the bounds, closes #181 bug
- #185 Add support for neighbours in loss computation in LearnerND
- #186 renormalize the plots value axis on every update
- #189 use pytest rather than py.test
- #190 add support for mpi4py
version 0.7.5
fix live_plot
version 0.7.3
Fix copy_from for the BalancingLearner
version 0.7.0
Since 0.6.0 we fixed the following issues:
- #122: Remove public 'fname' learner attribute
- #119: (Learner1D) add possibility to use the direct neighbors in the loss
- #114: (LearnerND) allow any convex hull as domain
- #121: How to handle NaN?
- #107: Make BaseRunner an abstract base class
- #112: (LearnerND) add iso-surface plot feature
- #56: Improve plotting for learners
- #118: widgets don't show up on adaptive.readthedocs.io
- #91: Set up documentation
- #62: AverageLearner math domain error
- #113: make BalancingLearner work with the live_plot
- #111: (LearnerND) flat simplices are sometimes added on the surface of the triangulation
- #103: (BalancingLearner) make new balancinglearner that looks at the total loss rather than loss improvement
- #110: LearnerND triangulation incomplete
- #127: Typo in documentation for
adaptive.learner.learner2D.uniform_loss(ip)
- #126: (Learner1D) improve time complexity
- #104: Learner1D could in some situations return -inf as loss improvement, which would make balancinglearner never choose to improve
- #128: (LearnerND) fix plotting of scaled domains
- #78: (LearnerND) scale y-values
and merged the following Merge Requests:
- !131: Resolve "(Learner1D) add possibility to use the direct neighbors in the loss"
- !137: adhere to PEP008 by using absolute imports
- !135: test all the different loss functions in each test
- !133: make 'fname' a parameter to 'save' and 'load' only
- !136: build the Dockerimage used in CI
- !134: change resolution_loss to a factory function
- !118: add 'save' and 'load' to the learners and periodic saving to the Runner
- !127: Resolve "(LearnerND) allow any convex hull as domain"
- !130: save execution time on futures inside runners
- !111: Resolve "Make BaseRunner an abstract base class"
- !124: Resolve "(LearnerND) add iso-surface plot feature"
- !108: exponentially decay message frequency in live_info
- !129: add tutorials
- !120: add documentation
- !125: update to the latest miniver
- !126: add check_whitespace
- !123: add an option to plot a HoloMap with the BalancingLearner
- !122: implement 'npoints' strategy for the 'BalancingLearner'
- !119: (learnerND) no more (almost) flat simplices in the triangulation
- !109: make a BalancingLearner strategy that compares the total loss rather than loss improvement
- !117: Cache loss and display it in the live_info widget
- !121: 2D: add loss that minimizes the area of the triangle in 3D
- !139: Resolve "(Learner1D) improve time complexity"
- !140: Resolve "(LearnerND) fix plotting of scaled domains"
- !128: LearnerND scale output values before computing loss
version 0.6.0
Since 0.5.0 we fixed the following issues:
- #66: (refactor) learner.tell(x, None) might be renamed to learner.tell_pending(x)
- #92: DeprecationWarning: sorted_dict.iloc is deprecated. Use SortedDict.keys() instead.
- #94: Learner1D breaks if right bound is added before the left bound
- #95: Learner1D's bound check algo in self.ask doesn't take self.data or self.pending_points
- #96: Learner1D fails when function returns a list instead of a numpy.array
- #97: Learner1D fails when a point (x, None) is added when x already exists
- #98: Learner1D.ask breaks when adding points in some order
- #99: Learner1D doesn't correctly set the interpolated loss when a point is added
- #101: How should learners handle data that is outside of the domain
- #102: No tests for the 'BalancingLearner'
- #105: LearnerND fails for BalancingLearner test
- #108: (BalancingLearner) loss is cached incorrectly
- #109: Learner2D suggests same point twice
and merged the following Merge Requests:
- !93: add a release guide
- !94: add runner.max_retries
- !95: 1D: fix the rare case where the right boundary point exists before the left bound
- !96: More efficient 'tell_many'
- !97: Fix #97 and #98
- !98: Resolve "DeprecationWarning: sorted_dict.iloc is deprecated. Use SortedDict.keys() instead."
- !99: Resolve "Learner1D's bound check algo in self.ask doesn't take self.data or self.pending_points"
- !100: Resolve "Learner1D doesn't correctly set the interpolated loss when a point is added"
- !101: Resolve "Learner1D fails when function returns a list instead of a numpy.array"
- !102: introduce 'runner.retries' and 'runner.raise_if_retries_exceeded'
- !103: 2D: rename 'learner._interp' to 'learner.pending_points' as in other learners
- !104: Make the AverageLearner only return new points ...
- !105: move specific tests for a particular learner to separate files
- !107: Introduce 'tell_pending' which replaces 'tell(x, None)'
- !112: Resolve "LearnerND fails for BalancingLearner test"
- !113: Resolve "(BalancingLearner) loss is cached incorrectly"
- !114: update release guide to add a 'dev' tag on top of regular tags
- !115: Resolve "How should learners handle data that is outside of the domain"
- !116: 2D: fix #109
New features
- add
learner.tell_pending
which replaceslearner.tell(x, None)
- add error-handling with
runner.retries
andrunner.raise_if_retries_exceeded
- make
learner.pending_points
andrunner.pending_points
public API - rename
learner.ask(n, add_data)
->learner.ask(n, tell_pending)
- added the
overhead
method to theBlockingRunner
Introduce LearnerND, BalancingLearner.from_product, and several bug fixes.
- Introduce
LearnerND
(beta) - Add
BalancingLearner.from_product
(seelearner.ipynb
or doc-string for useage example) runner.live_info()
now shows the learner's efficiencyrunner.task.print_stack()
now displays the full traceback- Introduced
learner.tell_many
instead of havinglearner.tell
figure out whether multiple points are added (#59) - Fixed a bug that occured when a
Learner1D
had extremely narrow features
And more bugs, see v0.4.1...v0.5.0
Rename 'choose_points' -> 'ask' and 'add_point', 'add_data' -> 'tell'
and
- several small bug fixes
- add Jorn Hoofwijk as an author
Fixes a bug in the Learner2D
The Learner2D could be left off in an inconsistent state if the
learner's function errored before the bounds function values
were present in learner.data.
Release with correct licensing information
Previously Christoph Groth was not properly attributed for his contributions.
This release also contains a bugfix for Windows users