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_singleremoved in (#221) - Add separate tests for
add_singleandaddwith single solution
- Revive the old implementation of
- Fix all examples and tutorials (#253)
- Add restart timer to
EvolutionStrategyEmitterand
GradientArborescenceEmitter(#255) - Rename fields and update documentation (#249, #250)
- Backwards-incompatible: rename
OptimizertoScheduler - Backwards-incompatible: rename
objective_valuetoobjective - Backwards-incompatible: rename
behavior_value/bcstomeasures - Backwards-incompatible:
behavior_dimin archives is nowmeasure_dim - Rename
n_solutionstobatch_sizeinScheduler.
- 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.restartsas a property (#248) - Specify that
x0is 1D for all emitters (#244) - Add
best_eliteproperty 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_treenow 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)
addnow adds a batch of solutions to the archiveadd_singleadds a single solution
emitter.tellnow takes instatus_batchandvalue_batch(#227)- Make epsilon configurable in archives (#226)
- Backwards-incompatible: Remove ribs.factory (#225, #228)
- Backwards-incompatible: Replaced
ImprovementEmitter,
RandomDirectionEmitter, andOptimizingEmitterwith
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_indexandint_to_grid_indexmethods for
GridArchiveandSlidingBoundariesArchive
- 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,sigma0options to
gaussian_emitterandiso_line_emitter(#199)gaussian_emitterconstructor requiressigma;sigma0is optional.iso_line_emitterconstructor takes in optional parametersigma0.
- Backwards-incompatible: Add
cbar,aspectoptions for
cvt_archive_heatmap(#197) - Backwards-incompatible: Add
aspectoption togrid_archive_heatmap+
support for 1D heatmaps (#196)squareoption no longer works
- Backwards-incompatible: Add
cbaroption 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
cellsargument instead ofbins - Archive now have a
cellsproperty rather than abinsproperty
- 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_indicesis now a fixed-size array with_num_occupied
indicating its current usage, and_occupied_indices_colshas been
removedindex_ofmust 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)