Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Output folder, better TemplateExpression, colored printouts, switch to ProgressMeter #360

Merged
merged 74 commits into from
Oct 30, 2024

Conversation

MilesCranmer
Copy link
Owner

@MilesCranmer MilesCranmer commented Oct 20, 2024

  • This creates a full CHANGELOG.md based on all of the release notes. It also creates the 1.0.0 release notes giving descriptions of the various new features.
  • Make TemplateExpression more robust
  • Nice example with structs
  • New URL Later.
  • Make a proper output folder, rather than dumping halls of fame to the current dir
  • Permit constraints and simplification by default Will add later if needed.
  • Bump to DispatchDoctor.jl 0.4.17 for @nospecialize fix
  • Set up user mailing list – send around an email that people can accept to join the google group for PySR/SymbolicRegression.jl updates Later.
  • Custom complexities, custom constraints, etc for TemplateExpression Will add later if needed.
  • Better default printout for TemplateExpressions - should print individual components! Cancelled this for now.

Copy link
Contributor

github-actions bot commented Oct 20, 2024

Benchmark Results

master a084404... master/a084404d28c8ec...
search/multithreading 25.7 ± 2 s 20.2 ± 2.7 s 1.27
search/serial 37.3 ± 0.77 s 32.4 ± 1.5 s 1.15
utils/best_of_sample 1.91 ± 1.6 μs 1.83 ± 1.6 μs 1.04
utils/check_constraints_x10 11.9 ± 3.2 μs 12 ± 3.2 μs 0.997
utils/compute_complexity_x10/Float64 2.11 ± 0.14 μs 2.06 ± 0.11 μs 1.02
utils/compute_complexity_x10/Int64 2.07 ± 0.12 μs 2.02 ± 0.11 μs 1.02
utils/compute_complexity_x10/nothing 1.46 ± 0.12 μs 1.42 ± 0.13 μs 1.03
utils/insert_random_op_x10 5.88 ± 1.8 μs 5.85 ± 1.9 μs 1.01
utils/next_generation_x100 0.416 ± 0.055 ms 0.44 ± 0.12 ms 0.945
utils/optimize_constants_x10 0.0352 ± 0.0084 s 0.0349 ± 0.0079 s 1.01
utils/randomly_rotate_tree_x10 5.34 ± 0.62 μs 5.22 ± 0.56 μs 1.02
time_to_load 1.59 ± 0.0043 s 1.71 ± 0.02 s 0.927

Benchmark Plots

A plot of the benchmark results have been uploaded as an artifact to the workflow run for this PR.
Go to "Actions"->"Benchmark a pull request"->[the most recent run]->"Artifacts" (at the bottom).

@coveralls
Copy link

coveralls commented Oct 20, 2024

Pull Request Test Coverage Report for Build 11586190409

Details

  • 260 of 274 (94.89%) changed or added relevant lines in 19 files are covered.
  • 1 unchanged line in 1 file lost coverage.
  • Overall coverage increased (+0.1%) to 95.478%

Changes Missing Coverage Covered Lines Changed/Added Lines %
src/Configure.jl 8 9 88.89%
src/ProgressBars.jl 21 22 95.45%
src/TemplateExpression.jl 86 87 98.85%
src/Options.jl 36 38 94.74%
src/OptionsStruct.jl 4 6 66.67%
src/Operators.jl 0 7 0.0%
Files with Coverage Reduction New Missed Lines %
src/SingleIteration.jl 1 96.97%
Totals Coverage Status
Change from base Build 11412416831: 0.1%
Covered Lines: 2914
Relevant Lines: 3052

💛 - Coveralls

@MilesCranmer
Copy link
Owner Author

I think in the example it would be nice to have an example with a literal user-defined struct getting returned from the structure function. And the fields of that struct could depend nonlinearly on the functions evolved.

@MilesCranmer
Copy link
Owner Author

MilesCranmer commented Oct 20, 2024

e.g.,

struct Energy{T}
    hamiltonian::T
    lagrangian::T
end

energy(nt) = map(
    (T, V) -> Energy(T + V, T - V),
    nt.T, nt.V
)
energy(nt::NamedTuple{<:Any,Tuple{Vararg{String}}}) = (
    "(T = $(nt.T), V = $(nt.V))"
)

variable_mapping = (; T = [1], V = [2])

and then do a search based on some values of H and L!

(Maybe there should be a hasmethod check that falls back to this printing style as default?)

@MilesCranmer MilesCranmer changed the title Release 1.0.0 Changelog Release 1.0.0 final changes Oct 21, 2024
@MilesCranmer MilesCranmer changed the title Release 1.0.0 final changes Output folder, better TemplateExpression, colored printouts, switch to ProgressMeter Oct 30, 2024
@MilesCranmer MilesCranmer merged commit bc9edaf into master Oct 30, 2024
17 checks passed
@MilesCranmer MilesCranmer deleted the release-1-changelog branch October 30, 2024 18:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants