Published August 7, 2023
| Version v0.16.0
Software
Open
MilesCranmer/PySR: v0.16.0
Authors/Creators
- 1. Simons Foundation
- 2. AAE @ Loughborough University
- 3. Scott Logic
- 4. Center for Data Science, New York University
- 5. @JaneliaSciComp
- 6. @ml-gde
- 7. @deepsourcelabs
- 8. Beihang University
- 9. New York University
Description
What's Changed
- Backend version update in https://github.com/MilesCranmer/PySR/pull/400. Includes:
- Algorithmic improvements to batching
- Code quality improvements (some method ambiguities, old exports)
- (Algorithm modification) Evaluate on fixed batch when building per-population hall of fame in https://github.com/MilesCranmer/SymbolicRegression.jl/pull/243
- This only affects searches that use
batching=true. It results in improved searches on large datasets, as the "winning expression" is not biased towards an expression that landed on a lucky batch. - Note that this only occurs within an iteration. Evaluation on the entire dataset still happens at the end of an iteration and those loss measurements are used for absolute comparison between expressions.
- This only affects searches that use
- (Algorithm modification) Deprecates the
fast_cyclefeature in https://github.com/MilesCranmer/SymbolicRegression.jl/pull/243. Use of this parameter will have no effect.- Was removed to ease maintenance burden and because it doesn't have a use. This feature was created early on in development as a way to get parallelism within a population. It is no longer useful as you can parallelize across populations.
- Add Aqua.jl to test suite in https://github.com/MilesCranmer/SymbolicRegression.jl/pull/245 for code quality control
- CompatHelper: bump compat for DynamicExpressions to 0.12, (keep existing compat) in https://github.com/MilesCranmer/SymbolicRegression.jl/pull/242
- Is able to avoids method invalidations when using operators to construct expressions manually by modifying a global constant mapping of operator => index, rather than
@eval-ing new operators. - This only matters if you were using operators to build trees, like
x1 + x2. All internal search code usesNode()explicitly to build expressions, so did not rely on method invalidation at any point.
- Is able to avoids method invalidations when using operators to construct expressions manually by modifying a global constant mapping of operator => index, rather than
Backend Changelog: https://github.com/MilesCranmer/SymbolicRegression.jl/compare/v0.21.5...v0.22.1
PySR Changelog: https://github.com/MilesCranmer/PySR/compare/v0.15.4...v0.16.0
Files
MilesCranmer/PySR-v0.16.0.zip
Files
(2.1 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:cc896085fd1444e0f48e5a3bbb109705
|
2.1 MB | Preview Download |
Additional details
Related works
- Is supplement to
- https://github.com/MilesCranmer/PySR/tree/v0.16.0 (URL)