pyribs 0.5.0
To learn about this release, see our page on What's New in v0.5.0:
https://docs.pyribs.org/en/stable/whats-new.html
Changelog
API
- Schedulers warn if no solutions are inserted into archive (#320)
- Implement
BanditScheduler
(#299) - Backwards-incompatible: Implement Scalable CMA-ES Optimizers (#274, #288)
- Make ribs.emitters.opt public (#281)
- Add normalized QD score to ArchiveStats (#276)
- Backwards-incompatible: Make ArchiveStats a dataclass (#275)
- Backwards-incompatible: Add shape checks to
tell()
andtell_dqd()
methods (#269) - Add method for computing CQD score in archives (#252)
- Backwards-incompatible: Deprecate positional arguments in constructors
(#261) - Backwards-incompatible: Allow custom initialization in Gaussian and
IsoLine emitters (#259, #265) - Implement CMA-MAE archive thresholds (#256, #260, #314)
- 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
and
GradientArborescenceEmitter
(#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
GradientArborescenceEmitter
, which is used to implement CMA-MEGA (#240,
#263, #264, #282, #321) - 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, #242)
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
with
EvolutionStrategyEmitter
(#220, #223, #278) - Raise ValueError for incorrect array shapes in archive methods (#219)
- 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 retrieve and
retrieve_single in archives (#213, #215, #295) - Backwards-incompatible: Replace get_index with batched index_of method in
archives (#208)- Also added
grid_to_int_index
andint_to_grid_index
methods for
GridArchive
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 to
gaussian_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 for
cvt_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 batched
sample_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
Bugs
- Fix boundary lines in sliding boundaries archive heatmap (#271)
- Fix negative eigenvalue in CMA-ES covariance matrix (#285)
Documentation
- Speed up lunar lander tutorial (#319)
- Add DQDTutorial (#267)
- Remove examples extra in favor of individual example deps (#306)
- Facilitate linking to latest version of documentation (#300)
- Update lunar lander tutorial with v0.5.0 features (#292)
- Improve tutorial and example overviews (#291)
- Move tutorials out of examples folder (#290)
- Update lunar lander to use Gymnasium (#289)
- Add CMA-MAE tutorial (#273, #284)
- Update README (#279)
- Add sphinx-codeautolink to docs (#206, #280)
- 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)