Skip to content

Create extract_gradient #89

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

Merged
merged 5 commits into from
Jun 29, 2024
Merged

Create extract_gradient #89

merged 5 commits into from
Jun 29, 2024

Conversation

MilesCranmer
Copy link
Member

When differentiating with respect to an expression, Zygote outputs a nested container. extract_gradient allows you to specify rules for extracting the gradient from that container so you can align it with get_constants and set_constants!.

@coveralls
Copy link

coveralls commented Jun 29, 2024

Pull Request Test Coverage Report for Build 9726585837

Details

  • 10 of 14 (71.43%) changed or added relevant lines in 3 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage decreased (-0.2%) to 95.307%

Changes Missing Coverage Covered Lines Changed/Added Lines %
src/Expression.jl 0 4 0.0%
Totals Coverage Status
Change from base Build 9725132065: -0.2%
Covered Lines: 2173
Relevant Lines: 2280

💛 - Coveralls

Copy link
Contributor

github-actions bot commented Jun 29, 2024

Benchmark Results

master ed5deaa... master/ed5deaae5e4b88...
eval/ComplexF32/evaluation 7.48 ± 0.46 ms 7.45 ± 0.47 ms 1
eval/ComplexF64/evaluation 9.71 ± 0.73 ms 9.75 ± 0.74 ms 0.996
eval/Float32/derivative 11.1 ± 2.2 ms 10.9 ± 2 ms 1.02
eval/Float32/derivative_turbo 11.1 ± 2.2 ms 10.9 ± 2 ms 1.02
eval/Float32/evaluation 2.73 ± 0.22 ms 2.72 ± 0.21 ms 1
eval/Float32/evaluation_bumper 0.536 ± 0.013 ms 0.572 ± 0.013 ms 0.936
eval/Float32/evaluation_turbo 0.721 ± 0.029 ms 0.716 ± 0.029 ms 1.01
eval/Float32/evaluation_turbo_bumper 0.534 ± 0.013 ms 0.58 ± 0.014 ms 0.921
eval/Float64/derivative 14.7 ± 0.56 ms 14.5 ± 0.57 ms 1.02
eval/Float64/derivative_turbo 14.6 ± 0.56 ms 14.4 ± 0.55 ms 1.02
eval/Float64/evaluation 2.91 ± 0.23 ms 2.92 ± 0.25 ms 0.998
eval/Float64/evaluation_bumper 1.22 ± 0.044 ms 1.27 ± 0.045 ms 0.958
eval/Float64/evaluation_turbo 1.21 ± 0.061 ms 1.2 ± 0.057 ms 1.01
eval/Float64/evaluation_turbo_bumper 1.21 ± 0.045 ms 1.28 ± 0.045 ms 0.95
utils/combine_operators/break_sharing 0.0409 ± 0.0014 ms 0.0411 ± 0.0014 ms 0.996
utils/convert/break_sharing 28.3 ± 1 μs 28.9 ± 1.3 μs 0.98
utils/convert/preserve_sharing 0.129 ± 0.0036 ms 0.128 ± 0.0032 ms 1.01
utils/copy/break_sharing 29.1 ± 1.1 μs 29.6 ± 1.2 μs 0.984
utils/copy/preserve_sharing 0.129 ± 0.0033 ms 0.134 ± 0.0033 ms 0.961
utils/count_constants/break_sharing 10.2 ± 0.16 μs 10.2 ± 0.16 μs 1
utils/count_constants/preserve_sharing 0.114 ± 0.0034 ms 0.113 ± 0.0028 ms 1.01
utils/count_depth/break_sharing 17.6 ± 0.38 μs 17.1 ± 0.44 μs 1.03
utils/count_nodes/break_sharing 9.63 ± 0.22 μs 9.76 ± 0.19 μs 0.987
utils/count_nodes/preserve_sharing 0.115 ± 0.0028 ms 0.115 ± 0.0026 ms 1
utils/get_set_constants!/break_sharing 0.125 ± 0.0045 ms 0.124 ± 0.0044 ms 1.01
utils/get_set_constants!/preserve_sharing 0.322 ± 0.0079 ms 0.319 ± 0.0076 ms 1.01
utils/has_constants/break_sharing 4.71 ± 0.23 μs 4.69 ± 0.23 μs 1
utils/has_operators/break_sharing 2.1 ± 0.031 μs 2.1 ± 0.027 μs 1
utils/hash/break_sharing 0.0326 ± 0.00047 ms 0.0331 ± 0.00053 ms 0.986
utils/hash/preserve_sharing 0.136 ± 0.0031 ms 0.137 ± 0.0029 ms 0.995
utils/index_constants/break_sharing 27.2 ± 0.7 μs 27.4 ± 0.78 μs 0.993
utils/index_constants/preserve_sharing 0.128 ± 0.0032 ms 0.128 ± 0.0035 ms 1
utils/is_constant/break_sharing 4.51 ± 0.22 μs 4.53 ± 0.22 μs 0.997
utils/simplify_tree/break_sharing 0.154 ± 0.015 ms 0.155 ± 0.015 ms 0.995
utils/simplify_tree/preserve_sharing 0.275 ± 0.018 ms 0.271 ± 0.017 ms 1.02
utils/string_tree/break_sharing 0.398 ± 0.012 ms 0.399 ± 0.012 ms 0.996
utils/string_tree/preserve_sharing 0.543 ± 0.017 ms 0.55 ± 0.017 ms 0.986
time_to_load 0.237 ± 0.0052 s 0.235 ± 0.0012 s 1.01

@coveralls
Copy link

coveralls commented Jun 29, 2024

Pull Request Test Coverage Report for Build 9726663968

Details

  • 12 of 14 (85.71%) changed or added relevant lines in 3 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage decreased (-0.07%) to 95.395%

Changes Missing Coverage Covered Lines Changed/Added Lines %
src/Expression.jl 2 4 50.0%
Totals Coverage Status
Change from base Build 9725132065: -0.07%
Covered Lines: 2175
Relevant Lines: 2280

💛 - Coveralls

@coveralls
Copy link

coveralls commented Jun 29, 2024

Pull Request Test Coverage Report for Build 9726745677

Details

  • 14 of 14 (100.0%) changed or added relevant lines in 3 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage increased (+0.02%) to 95.482%

Totals Coverage Status
Change from base Build 9725132065: 0.02%
Covered Lines: 2177
Relevant Lines: 2280

💛 - Coveralls

@MilesCranmer MilesCranmer merged commit ea8e020 into master Jun 29, 2024
18 checks passed
@MilesCranmer MilesCranmer deleted the generalize-node-tangents branch June 29, 2024 20:45
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