Releases: MilesCranmer/PySR
Releases · MilesCranmer/PySR
v0.15.0
What's Changed
- Backend version update in #389. Includes:
- Dimensional analysis (see docs examples page)
- Printing improvements
- Many misc changes (see below)
Backend Changes
- MilesCranmer/SymbolicRegression.jl#228 and MilesCranmer/SymbolicRegression.jl#230 and MilesCranmer/SymbolicRegression.jl#231 and MilesCranmer/SymbolicRegression.jl#235
- Dimensional analysis (228)
- Allows you to (softly) constrain discovered expressions to those that respect physical dimensions
- Specify
X_units
andy_units
(see https://astroautomata.com/PySR/examples/#10-dimensional-constraints)
- Printing improvements (228)
- By default, only 5 significant digits are now printed, rather than the entire float. You can change this with the
print_precision
option. - In the default printed equations,
x₁
is used rather thanx1
. y =
is printed at the start (ory₁ =
for multi-output). With units this becomes, for example,y[kg] =
.
- By default, only 5 significant digits are now printed, rather than the entire float. You can change this with the
- Misc
- Easier to convert from MLJ interface to SymbolicUtils (via
node_to_symbolic(::Node, ::AbstractSRRegressor)
) (228) - Improved precompilation (228)
- Various performance and type stability improvements (228)
- Inlined the recording option to speedup compilation (230)
- Updated Julia tutorials to use MLJ rather than low-level interface (228)
- Moved JSON3.jl to extension (231)
- Use PackageExtensionsCompat.jl over Requires.jl (231)
- Require LossFunctions.jl to be 0.10 (231)
- Batching inside optimization loop + batching support for custom objectives by (235)
- Update docker defaults: Julia=1.9.1; Python=3.10.11 in #371
- Easier to convert from MLJ interface to SymbolicUtils (via
- Dimensional analysis (228)
Backend Changelog: MilesCranmer/SymbolicRegression.jl@v0.20.0...v0.21.0
PySR Changelog: v0.14.3...v0.15.0
v0.14.3
What's Changed
- Self-repairing PyCall installation to lower entrance barrier for new users by @MilesCranmer and @mkitti in #363
Full Changelog: v0.14.2...v0.14.3
v0.14.2
What's Changed
- Recommend user install with
--enable-shared
by @MilesCranmer in #352 - Automated update to backend: v0.19.1 by @MilesCranmer in #355
Backend
Merged pull requests on backend:
- CompatHelper: bump compat for StatsBase to 0.34, (keep existing compat) (MilesCranmer/SymbolicRegression.jl#202) (@github-actions[bot])
- (Soft deprecation) change
varMap
tovariable_names
(MilesCranmer/SymbolicRegression.jl#219) (@MilesCranmer) - (Soft deprecation) rename
EquationSearch
toequation_search
(MilesCranmer/SymbolicRegression.jl#222) (@MilesCranmer) - Fix equation splitting for unicode variables (MilesCranmer/SymbolicRegression.jl#223) (@MilesCranmer)
Full Changelog: v0.14.1...v0.14.2
v0.14.1
What's Changed
- Automated update to backend: v0.19.0 by @MilesCranmer in #340
- ~30% faster startup time on first search (https://github.com/MilesCranmer/SymbolicRegression.jl/releases/tag/v0.19.0)
- Let user know when compilation is taking place by @MilesCranmer in #341
Full Changelog: v0.14.0...v0.14.1
v0.14.0
What's Changed
- Added CLI to run pysr.install() to install Julia dependencies by @w2ll2am in #298
- Let's you install PySR with
python -m pysr install
rather thanpython -c 'import pysr; pysr.install()'
- This CLI also has other options available (precompilation, Julia project name, etc.)
- Let's you install PySR with
New Contributors
Full Changelog: v0.13.0...v0.14.0
v0.13.0
What's Changed
- Test Julia 1.9 by @MilesCranmer in #329
- Automated update to backend: v0.18.0 by @MilesCranmer in #331
Backend changes
- Overload ^ if user passes explicitly (MilesCranmer/SymbolicRegression.jl#201) (@MilesCranmer)
- Upgrade DynamicExpressions to 0.8; LossFunctions to 0.10 (MilesCranmer/SymbolicRegression.jl#206) (@github-actions[bot])
- Show expressions evaluated per second (MilesCranmer/SymbolicRegression.jl#209) (@MilesCranmer)
- Cache complexity of expressions whenever possible (MilesCranmer/SymbolicRegression.jl#210) (@MilesCranmer)
Full Changelog: v0.12.3...v0.13.0
v0.12.3
What's Changed
- Highlight contributors by @MilesCranmer in #301
- Automated update to backend: v0.17.1 by @MilesCranmer in #320
Full Changelog: v0.12.2...v0.12.3
v0.12.2
What's Changed
- Add paper 'Electron Transfer Rules of Minerals under Pressure…' by @GCaptainNemo in #288
- Fix colab notebook example by @MilesCranmer in #295
- Add paper: "Data-Driven Equation Discovery of a Cloud Cover Parameterization" by @agrundner24 in #302
- Pass through
enable_autodiff
parameter by @MilesCranmer in #316
New Contributors
- @GCaptainNemo made their first contribution in #288
- @agrundner24 made their first contribution in #302
Full Changelog: v0.12.1...v0.12.2
v0.12.1
What's Changed
- Allow user to specify full objective functions by @MilesCranmer in #276
Full Changelog: v0.12.0...v0.12.1
v0.12.0
What's Changed
- Complex-valued expressions by @MilesCranmer in #281
- Various fixes in backend (see https://github.com/MilesCranmer/SymbolicRegression.jl/releases/tag/v0.16.0)
Full Changelog: v0.11.17...v0.12.0