Releases: EMI-Group/evox
v1.3.0
🔖 Release Note: v1.3.0
Feature
- Workflow now accepts a list of opt_direction.
Fixes
- Several fixes about indexing and other bugs by @sses7757 in #242
- Fix win installer by @ZaberKo in #243
- reconstruct cec2022, fix and add funcs of basic.py by @XU-Boqing in #240
use_statewhen there are multiple additional arguments
Full Changelog: v1.2.2...v1.3.0
v1.2.2 Release Note
🔖 Release Note: v1.2.2
This is a minor release focused solely on bug fixes:
- Removed unused imports to improve code cleanliness.
- Fixed unintended behavior in certain Differential Evolution (DE) algorithms where
stepwas being called withininit_step. - Various fixes in the documentation.
Full Changelog: [v1.2.1...v1.2.2](v1.2.1...v1.2.2)
Release note v1.2.1
🔖 Release Note: v1.2.1
This is a minor release focused on improving stability and addressing bugs, with a few quality-of-life enhancements.
✨ New Features
- New Benchmark Functions: Added single-objective numerical functions:
EllipsoidandGriewank.
🐛 Bug Fixes
- Fixed an issue where
StdWorkflowfailed to work with algorithms that inherit from other algorithms. - Corrected a bug in
latin_hypercube_sampling_standardfunction. - Resolved an issue with
non_dominatefailing undertorch.compile. - Corrected a problem where
PSOdid not use the default device properly in certain cases.
🧹 Refactoring & Maintenance
- Re-exported commonly used utilities to the top level for convenience, for example:
evox.compileinstead ofevox.core.compileevox.vmapinstead ofevox.core.vmap.
- Removed deprecated or redundant code.
Full Changelog: v1.2.0...v1.2.1
v1.2.0
🎉 EvoX v1.2.0 Release! 🎉
We’re excited to announce the release of EvoX v1.2.0, packed with new features, improvements, and important bug fixes! This update enhances the framework's flexibility and performance across key modules.
🔧 Highlights:
- 🚀 Added
final_step()and updatedhpo_wrapperandstd_workflowfor smoother execution workflows. - 🤖 Introduced the Mujoco Playground – a new environment for reinforcement learning experiments.
- 📘 Released a brand-new tutorial to help users get up to speed quickly.
- 🔌 Added new EvoX extension functions, enabling better integration with sister projects like EvoMO.
- 🐞 Various bug fixes and documentation updates for better stability and clarity.
Related pull requests
- Update Docstring of MOEAs by @Zhenyu2Liang in #230
- Fix the vmap used in the hpo_wrapper.py by @starquakee in #232
- Add RVEAa and final_step, and modify DTLZ, IGD and RVEA by @XU-Boqing in #231
- Update hpo_wrapper and std_workflow (final_step()) by @XU-Boqing in #233
- Add mujoco_playground problem. by @Nam-dada in #234
- Update docstring by @Zhenyu2Liang in #235
- Fix bugs of mujoco_playground by @Nam-dada in #236
- Tutorial by @BillHuang2001 in #237
🔗 Full Changelog: v1.1.2 → v1.2.0
v1.1.2
What's Changed
- Update README with usage notes and parameter adjustments by @JiangTao97 in #225
- Some vmap and HPO-related features and bug fixes by @sses7757 in #226
- Some documentation fixes @JiangTao97 in #227 and #228
- Some fixes about benchmark code by @sses7757 in #229
- Initial distributed workflow support has landed!
Full Changelog: v1.1.1...v1.1.2
v1.1.1
What's Changed
This minor release primarily includes bug fixes and improvements:
- Fixed an issue where
torch.compiledid not properly captureworkflow.step. - Fixed an issue where
use_stateleads to a graph break. - Fixed some incorrect model buffer usage.
- Fixed an issue where monitor.plot was not functioning as intended in certain situation.
- Introduced a new wrapper,
evox.compile, to work around certain limitations withtorch.compileandtorch.vmap. - Resolved various
BatchedTensor-related issues:- Fixed a bug where vmapping a workflow with EvalMonitor could cause BatchedTensor leaks.
- Fixed an issue preventing HPOProblem from working with BraxProblem.
- Enhanced the implementations of RVEA and CSO for better performance and reliability.
- Enhanced the implementation of BraxProblem.
- Various small fixes and improvements.
Related Pull requests
- Add compile & vmap support for while loops and external functions by @sses7757 in #221
- Update RVEA by @Zhenyu2Liang in #222
- Fix
std_workflow._evaluatecannot be captured bytorch.compilebug by @sses7757 in #223 - BatchedTensor fixes by @BillHuang2001 in #224
Full Changelog: v1.1.0...v1.1.1
v1.1.0
Major Changes
Dynamo Integration 🚀
We have transitioned to torch.compile as our compiler backend, replacing TorchScript. This update simplifies the compilation workflow, making it more user-friendly while maintaining high performance and efficiency.
Why Move to torch.compile?
Previously, EvoX used tracing to obtain the computation graph—JAX tracing in pre-1.0.0 and TorchScript in v1.0.0. However, tracing modes were difficult for users, lacked compatibility with many Python functions (especially non-PyTorch functions), and required manual intervention to handle dynamic workflow. While tracing was fast and produced a full computation graph, its limitations made it less flexible and hard to use.
With torch.compile, EvoX can now provide a smoother and robust compilation process:
✅ Ease of Use – No need for explicit scripting or tracing; simply use torch.compile(workflow.step), and your code gets optimized automatically.
✅ Better Performance – The torch.compile backend is actively maintained and optimized, delivering better performance than previous tracing methods, and works on more hardware backends.
✅ Full Python Compatibility – Works directly with Python code and non-PyTorch functions, eliminating compatibility issues.
✅ Future-Proof – Aligns with PyTorch’s long-term strategy, making torch.compile the recommended approach for graph capture.
This transition enhances usability while ensuring compatibility with PyTorch's evolving ecosystem.
What's Changed
- Translations update from Hosted Weblate by @weblate in #209
- Change cec2022.py to avoid accuracy blowout in the extreme by @starquakee in #210
- Fix possible shape bug in DE_differential_sum function by @starquakee in #211
- Brax now supports Single-layer vmap (Hpo Problem) by @starquakee in #212
- Fix bug of APD calculation by @Zhenyu2Liang in #213
- Some vmap related improvements by @sses7757 in #214
- Fix brax problem not evaluating in jit.trace and vmap by @sses7757 in #215
- Add NSGA3 by @LiHao-MS in #216
- Dynamo by @BillHuang2001 in #217
- Add HypE by @Zhenyu2Liang in #218
Full Changelog: v1.0.1...v1.1.0
v1.0.1
Minor release, bug fixes.
What's Changed
- update win-install.bat by @ZaberKo in #204
- fix(DE, ODE, JaDE): implement true random selection for base vectors by @starquakee in #205
- Fixed an array out of bounds bug in SHADE when pop_size>100 by @starquakee in #206
Full Changelog: v1.0.0...v1.0.1
v1.0.0a1
Released EvoX 1.0.0a1 🎉 — EvoX 🤝 PyTorch for full compatibility! For users seeking the previous JAX-based version, please refer to the v0.9.0 branch.
What's Changed
- Fix typo in the core docstring by @dandansamax in #153
- Add 6 PSO variants to EvoXTorch by @XU-Boqing in #158
- Add
SupervisedLearningProblemandParamsAndVectorcomponents with tests for neuroevolution process on PyTorch based EvoX. by @liyc5929 in #159 - EvoXTorch project structure changes by @BillHuang2001 in #157
- Dev bh docs by @BillHuang2001 in #163
- Evoxtorch dev doc by @BillHuang2001 in #166
- Add RVEA algorithm by @BillHuang2001 in #161
- Add HPO developer guide by @generaldi in #167
- Add 4 doc files. by @XU-Boqing in #171
- Fixed CEC2022 by @LYinMX in #173
- Modify HPO,picture.Add containers. by @generaldi in #176
- multi-objective algorithm example docs by @Nam-dada in #175
- Add cec2022 (12 so problems), and the test file. by @XU-Boqing in #162
- Add CMA-ES algorithm by @XinyaoLi0212 in #177
- fix de.py selection bug and add ode.py by @starquakee in #164
- Modify 4 docs. by @XU-Boqing in #172
- Try to make docs' link goes well. by @XU-Boqing in #180
- Add JaDE by @starquakee in #181
- Add HPO for user gd, modify HPO for developer gd. by @generaldi in #179
- Add NSGA2 and MOEA/D by @Zhenyu2Liang in #182
- Upgrade Multi-Objective Algorithm examples page by @Nam-dada in #178
- Optimizing text. by @Nam-dada in #183
- Add jit wsd part by @generaldi in #184
- Add hpo in index by @generaldi in #185
- Add hv and gd metric by @Zhenyu2Liang in #186
- Finish document of numerical optimization in example and fix PSO. by @XinyaoLi0212 in #189
- Evoxtorch-dev-lh by @LiHao-MS in #190
- Add link. by @Nam-dada in #193
- Add part of the jit-vmap doc. by @XU-Boqing in #188
- Add EvoX installation guide by @JiangTao97 in #191
- Add some ES and DE by @LYinMX in #187
- Enable brax visualize by @BillHuang2001 in #194
- Monitor plot by @BillHuang2001 in #195
- Add win installer script and update install doc by @ZaberKo in #192
- Update win installer by @ZaberKo in #196
- Update the numerical optimization document and the comments of CMAES. by @XinyaoLi0212 in #197
- Update README by @Zhenyu2Liang in #199
- Fix some spelling mistakes of docs. by @XU-Boqing in #198
- Add doc "Transformation from MATLAB to PyTorch and EvoX" by @sses7757 in #200
- Add jit-vmap and supervised-learning tutorial documents. by @liyc5929 in #201
- Fix some mistakes inside the JIT doc. by @XU-Boqing in #202
- EvoXTorch Staging by @BillHuang2001 in #160
New Contributors
- @dandansamax made their first contribution in #153
- @XU-Boqing made their first contribution in #158
- @liyc5929 made their first contribution in #159
- @generaldi made their first contribution in #167
- @LYinMX made their first contribution in #173
- @Nam-dada made their first contribution in #175
- @XinyaoLi0212 made their first contribution in #177
- @JiangTao97 made their first contribution in #191
- @sses7757 made their first contribution in #200
Full Changelog: v0.9.0...v1.0.0a1
v0.9.0
What's Changed
- Translations update from Hosted Weblate by @weblate in #139
- Update README.md by @ranchengcn in #140
- Fix bugs of MOEA/D by @Zhenyu2Liang in #141
- Translations update from Hosted Weblate by @weblate in #142
- Bug Fix & Distributed Training Improvement by @ZaberKo in #143
- Update evoxbench.py by @AlpAcA0072 in #147
- State based IO by @BillHuang2001 in #145
New Contributors
- @AlpAcA0072 made their first contribution in #147
Full Changelog: v0.8.1...v0.9.0