- Implement CMA-MAE archive thresholds (#256)
- Revive the old implementation of
add_single
removed in (#221) - Add separate tests for
add_single
andadd
with single solution
- Revive the old implementation of
- Fix all examples and tutorials (#253)
- Add restart timer to
EvolutionStrategyEmitter
andGradientAborescenceEmitter
(#255) - Rename fields and update documentation (#249, #250)
- Backwards-incompatible: rename
Optimizer
toScheduler
- Backwards-incompatible: rename
objective_value
toobjective
- Backwards-incompatible: rename
behavior_value
/bcs
tomeasures
- Backwards-incompatible:
behavior_dim
in archives is nowmeasure_dim
- Rename
n_solutions
tobatch_size
inScheduler
.
- Backwards-incompatible: rename
- Add
GradientAborescenceEmitter
, which is used to implement CMA-MEGA (#240) - Update emitter
tell()
docstrings to no longer say "Inserts entries into archive" (#247) - Expose
emitter.restarts
as a property (#248) - Specify that
x0
is 1D for all emitters (#244) - Add
best_elite
property for archives (#237) - Rename methods in ArchiveDataFrame and rename as_pandas behavior columns (#236)
- Re-run CVTArchive benchmarks and update CVTArchive (#235)
- Backwards-incompatible:
use_kd_tree
now defaults to True since the k-D tree is always faster than brute force in benchmarks.
- Backwards-incompatible:
- Allow adding solutions one at a time in optimizer (#233)
- Minimize numba usage (#232)
- Backwards-incompatible: Implement batch addition in archives (#221)
add
now adds a batch of solutions to the archiveadd_single
adds a single solution
emitter.tell
now takes instatus_batch
andvalue_batch
(#227)- Make epsilon configurable in archives (#226)
- Backwards-incompatible: Remove ribs.factory (#225,#228)
- Backwards-incompatible: Replaced
ImprovementEmitter
,RandomDirectionEmitter
, andOptimizingEmitter
withEvolutionStrategyEmitter
(#220, #223) - Raise ValueError for incorrect array shapes in archive methods (#219)
- Add elites_with_measures_single method for getting elite for a single solution's measures (#215)
- Introduced the Ranker object, which is responsible for ranking the solutions based on different objectives (#209, #222, #245)
- Add index_of_single method for getting index of measures for one solution (#214)
- Backwards-incompatible: Replace elite_with_behavior with batched elites_with_measures method in archives (#213)
- Backwards-incompatible: Replace get_index with batched index_of method in
archives (#208)
- Also added
grid_to_int_index
andint_to_grid_index
methods forGridArchive
andSlidingBoundariesArchive
- Also added
- Backwards-incompatible: Made it such that each archive is initialized fully in its constructor instead of needing a separate .initialize(solution_dim) call (#200)
- Backwards-incompatible: Add
sigma
,sigma0
options togaussian_emitter
andiso_line_emitter
(#199)gaussian_emitter
constructor requiressigma
;sigma0
is optional.iso_line_emitter
constructor takes in optional parametersigma0
.
- Backwards-incompatible: Add
cbar
,aspect
options forcvt_archive_heatmap
(#197) - Backwards-incompatible: Add
aspect
option togrid_archive_heatmap
+ support for 1D heatmaps (#196)square
option no longer works
- Backwards-incompatible: Add
cbar
option togrid_archive_heatmap
(#193) - Backwards-incompatible: Replace
get_random_elite()
with batchedsample_elites()
method (#192) - Backwards-incompatible: Add EliteBatch and rename fields in Elite (#191)
- Backwards-incompatible: Rename bins to cells for consistency with
literature (#189)
- Archive constructors now take in
cells
argument instead ofbins
- Archive now have a
cells
property rather than abins
property
- Archive constructors now take in
- Backwards-incompatible: Only use integer indices in archives (#185)
ArchiveBase
- Replaced
storage_dims
(tuple of int) withstorage_dim
(int) _occupied_indices
is now a fixed-size array with_num_occupied
indicating its current usage, and_occupied_indices_cols
has been removedindex_of
must now return an integer
- Replaced
- Add sphinx-codeautolink to docs (#206)
- Fix documentation rendering issues on ReadTheDocs (#205)
- Fix typos and formatting in docstrings of
ribs/visualize.py
(#203) - Add in-comment type hint rich linking (#204)
- Upgrade Sphinx dependencies (#202)
- Move threadpoolctl from optimizer to CMA-ES (#241)
- Remove unnecessary emitter benchmarks (#231)
- Build docs during CI/CD workflow (#211)
- Drop Python 3.6 and add Python 3.10 support (#181)
- Add procedure for updating changelog (#182)
- Add 'visualize' extra and remove 'all' extra (#183,#184)
To learn about this release, see our blog post: https://pyribs.org/blog/0-4-0
- Add ribs.visualize.parallel_axes_plot for analyzing archives with high-dimensional BCs (#92)
- Backwards-incompatible: Reduce attributes and parameters in EmitterBase to make it easier to extend (#101)
- In Optimizer, support emitters that return any number of solutions in ask() (#101)
- Backwards-incompatible: Store metadata in archives as described in #87 (#103, #114, #115, #119)
- Backwards-incompatible: Rename "index" to "index_0" in CVTArchive.as_pandas for API consistency (#113)
- Backwards-incompatible: Make index_of() public in archives to emphasize each index's meaning (#128)
- Backwards-incompatible: Add index to get_random_elite() and elite_with_behavior() in archives (#129)
- Add clear() method to archive (#140, #146)
- Represent archive elites with an Elite namedtuple (#142)
- Add len and iter methods to archives (#151, #152)
- Add statistics to archives (#100, #157)
- Improve manipulation of elites by modifying as_pandas (#123, #149, #153, #158, #168)
- Add checks for optimizer array and list shapes (#166)
- Add bibtex citations for tutorials (#122)
- Remove network training from Fooling MNIST tutorial (#161)
- Fix video display for lunar lander in Colab (#163)
- Fix Colab links in stable docs (#164)
- Add support for Python 3.9 (#84)
- Test with pinned versions (#110)
- Increase minimum required versions for scipy and numba (#110)
- Refactor as_pandas tests (#114)
- Expand CI/CD to test examples and tutorials (#117)
- Tidy up existing tests (#120, #127)
- Fix vocab in various areas (#138)
- Fix dependency issues in tests (#139)
- Remove tox from CI (#143)
- Replace "entry" with "elite" in tests (#144)
- Use new archive API in ribs.visualize implementation (#155)
This release features various bug fixes and improvements. In particular, we have added tests for SlidingBoundariesArchive and believe it is ready for more rigorous use.
- Move SlidingBoundariesArchive out of experimental by adding tests and fixing bugs (#93)
- Added nicer figures to the Sphere example with
grid_archive_heatmap
(#86) - Added testing for Windows and MacOS (#83)
- Fixed package metadata e.g. description
pyribs is now in beta. Since our alpha release (0.2.0), we have polished the library and added new tutorials and examples to our documentation.
- Added a Lunar Lander example that extends the lunar lander tutorial (#70)
- Added New Tutorial: Illuminating the Latent Space of an MNIST GAN (#78)
- GridArchive: Added a boundaries attribute with the upper and lower bounds of each dimension's bins (#76)
- Fixed a bug where CMA-ME emitters do not work with float32 archives (#74)
- Fixed a bug where Optimizer is able to take in non-unique emitter instances (#75)
- Fixed a bug where GridArchive failed for float32 due to a small epsilon (#81)
- Fix issues with bounds in the SlidingBoundaryArchive (#77)
- Added clearer error messages for archives (#82)
- Modified the Python requirements to allow any version above 3.6.0 (#68)
- The wheel is now fixed so that it only supports py3 rather than py2 and py3 (#68)
- Miscellaneous documentation fixes (#71)
- Alpha release
- Package metadata fixes (author, email, url)
- Miscellaneous documentation improvements
- Test release (now removed)
- Test release (now removed)
- pyribs begins