-
Notifications
You must be signed in to change notification settings - Fork 34
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
Update to ChainRulesCore 0.10 #182
Conversation
filldist_broken = if d.f(d.θ...) isa Skellam | ||
(d.broken..., :ReverseDiff) | ||
((d.broken..., :ReverseDiff), (d.broken..., :Zygote, :ReverseDiff)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is the redundant :ReverseDiff
in (d.broken..., :ReverseDiff)
and (d.broken..., :Zygote, :ReverseDiff)
intended?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, ReverseDiff still doesn't work for both tested sizes (single sample + two samples) whereas Zygote only fails if there are multiple samples. Upstream changes in SpecialFunctions and Zygote fixed most of the issues in #156 (and TuringLang/DistributionsAD.jl#145) but this one is still present.
Test errors are caused by NNlib it seems - I don't understand why we end up with such an old version (0.7.9), IIRC the problem is fixed in recent versions of NNlib. |
Ah OK, so 0.7.9 was the latest release without explicit ChainRules dependency: ChainRulesCore 0.10 is pulled in first and since no more recent version of NNlib is compatible with it (well, 0.7.21 is but it requires Julia >= 1.6) the old version with the bug is installed. I'll try to force NNlib 0.7.18 explicitly (latest release which supports ChainRulesCore 0.9 + Julia 1.3). |
Many thanks, @devmotion. |
Supercedes #180 and #181.