Pysr

Latest version: v0.18.2

Safety actively analyzes 619345 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 11

0.18.2

Frontend changes

* Add missing `greater` operator in sympy mapping by MilesCranmer in https://github.com/MilesCranmer/PySR/pull/590
* Bump julia-actions/setup-julia from 1 to 2 by dependabot in https://github.com/MilesCranmer/PySR/pull/591
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/MilesCranmer/PySR/pull/537
* Automated update to backend: v0.24.2 by MilesCranmer in https://github.com/MilesCranmer/PySR/pull/598

**Full Changelog**: https://github.com/MilesCranmer/PySR/compare/v0.18.1...v0.18.2

Backend changes

**Merged pull requests:**
- Bump julia-actions/setup-julia from 1 to 2 (MilesCranmer/SymbolicRegression.jl300) (dependabot[bot])
- [pre-commit.ci] pre-commit autoupdate (MilesCranmer/SymbolicRegression.jl301) (pre-commit-ci[bot])
- A small update on examples.md for 1-based indexing (MilesCranmer/SymbolicRegression.jl302) (liuyxpp)
- Fixes for Julia 1.11 (MilesCranmer/SymbolicRegression.jl303) (MilesCranmer)

**Closed issues:**
- API Overhaul (MilesCranmer/SymbolicRegression.jl187)
- [Feature]: Training on high dimensions X (MilesCranmer/SymbolicRegression.jl299)

**Full Changelog**: https://github.com/MilesCranmer/SymbolicRegression.jl/compare/v0.24.1...v0.24.2

0.18.1

What's Changed
* Revert GitHub-based registry for backend by MilesCranmer in https://github.com/MilesCranmer/PySR/pull/587


**Full Changelog**: https://github.com/MilesCranmer/PySR/compare/v0.18.0...v0.18.1

0.18.0

Frontend changes
* fix TypeError when a variable name matches a builtin python function by tomjelen in https://github.com/MilesCranmer/PySR/pull/558
* Update to backend: v0.24.0 by MilesCranmer in https://github.com/MilesCranmer/PySR/pull/564
* Fix extensions not being added to package env by MilesCranmer in https://github.com/MilesCranmer/PySR/pull/579
* Bump backend version and switch to GitHub-based registry by MilesCranmer in https://github.com/MilesCranmer/PySR/pull/580

Backend changes

_Filtered to only include relevant ones for Python frontend. Also note that not all backend features, like graph-based expressions/program synthesis, are supported yet, so I don't mention those changes yet._

- (BREAKING) The `swap_operands` mutation contributed by foxtran now has a default weight of 0.1 rather than 0.0.
- (BREAKING) The Dataset struct has had many of its field declared immutable, as a safety precaution.
- If you had relied on the mutability of the struct to set parameters after initializing it, or had changed any properties of the dataset within a loss function (which actually would break assumptions outside the loss function anyways), you will need to modify your code. Note you can always copy fields of the dataset to variables and then modify those variables
- LoopVectorization.jl has been moved to a package extension. PySR will install automatically at first use of `turbo=True` rather than by default, which means faster install time and startup time.
- Note that LoopVectorization will no longer result in improved performance in Julia 1.11 and thus `turbo=True` will have no effect on that version (due to internal changes in Julia), which is why I have instead done the following:
- Bumper.jl support added. Passing `bumper=true` to `PySRRegressor()` will result in faster performance.
- Uses bump allocation (see rust package [bumpalo](https://docs.rs/bumpalo/latest/bumpalo) for a good explanation) in the expression evaluation which can get speeds equivalent to LoopVectorization and sometimes even better due to better management of allocations rather than relying on garbage collection. Seems like a pretty good alternative, and doesn't rely on manipulating Julia internals for performance (https://github.com/MilesCranmer/SymbolicRegression.jl/pull/287)
- Various fixes to distributed compute; confirmed Slurm support again!
- Maybe from https://github.com/MilesCranmer/SymbolicRegression.jl/pull/297 - ensures ClusterManagers.jl is loaded on workers
- Now prefer to use new keyword-based constructors for nodes:

julia
Node{T}(feature=...) leaf referencing a particular feature column
Node{T}(val=...) constant value leaf
Node{T}(op=1, l=x1) operator unary node, using the 1st unary operator
Node{T}(op=1, l=x1, r=1.5) binary unary node, using the 1st binary operator

rather than the previous constructors Node(op, l, r) and Node(T; val=...) (though those will still work; just with a depwarn). If you did any construction of nodes manually, note the new syntax. (Old syntax will still work though)
- Formatting overhaul of backend (https://github.com/MilesCranmer/SymbolicRegression.jl/pull/278)
- Upgraded Optim to 1.9
- Upgraded DynamicQuantities to 0.13
- Upgraded DynamicExpressions to 0.16
- The main search loop in the backend has been greatly refactored for readability and improved type inference. It now looks like this (down from a monolithic ~1000 line function)
julia
function _equation_search(
datasets::Vector{D}, ropt::RuntimeOptions, options::Options, saved_state
) where {D<:Dataset}
_validate_options(datasets, ropt, options)
state = _create_workers(datasets, ropt, options)
_initialize_search!(state, datasets, ropt, options, saved_state)
_warmup_search!(state, datasets, ropt, options)
_main_search_loop!(state, datasets, ropt, options)
_tear_down!(state, ropt, options)
return _format_output(state, ropt)
end



**Backend changes**: https://github.com/MilesCranmer/SymbolicRegression.jl/compare/v0.23.1...v0.24.1

New Contributors
* tomjelen made their first contribution in https://github.com/MilesCranmer/PySR/pull/558

**Full Changelog**: https://github.com/MilesCranmer/PySR/compare/v0.17.4...v0.18.0

0.17.4

Small patch to Julia version to avoid buggy libgomp in 1.10.1 and 1.10.2.

**Full Changelog**: https://github.com/MilesCranmer/PySR/compare/v0.17.3...v0.17.4

0.17.3

What's Changed
* Bump juliacall from 0.9.15 to 0.9.19 by dependabot in https://github.com/MilesCranmer/PySR/pull/569
* Upstreamed patching of `seval` to support multiple expressions
* remove repeated operator by RaulPL in https://github.com/MilesCranmer/PySR/pull/573

New Contributors
* RaulPL made their first contribution in https://github.com/MilesCranmer/PySR/pull/573

**Full Changelog**: https://github.com/MilesCranmer/PySR/compare/v0.17.2...v0.17.3

0.17.2

What's Changed
* All cell state in bio image paper by chris-soelistyo in https://github.com/MilesCranmer/PySR/pull/560
* Refactor update_backend.yml workflow by sefffal in https://github.com/MilesCranmer/PySR/pull/562
* Limit to Julia 1.6.7-1.10.0 and 1.10.3+ by MilesCranmer in https://github.com/MilesCranmer/PySR/pull/565

New Contributors
* chris-soelistyo made their first contribution in https://github.com/MilesCranmer/PySR/pull/560
* sefffal made their first contribution in https://github.com/MilesCranmer/PySR/pull/562

**Full Changelog**: https://github.com/MilesCranmer/PySR/compare/v0.17.1...v0.17.2

Page 1 of 11

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.