You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ERROR: MethodError: no method matching iterate(::Nothing)
The function iterate exists, but no method is defined for this combination of argument types.
Closest candidates are:
iterate(::ExponentialBackOff)
@ Base error.jl:264
iterate(::ExponentialBackOff, ::Any)
@ Base error.jl:264
iterate(::LibGit2.GitConfigIter)
@ LibGit2 C:\Users\jmurp\AppData\Local\Programs\Julia-1.11.1\share\julia\stdlib\v1.11\LibGit2\src\config.jl:225
I think this is a fundamental limitation of Zygote, because when there is no chain rule, the returned value for the pullback is nothing:
julia>using Zygote
julia>f(x) =1.0
f (generic function with 1 method)
julia> Zygote.gradient(f, 2.0)
(nothing,)
Interpreting this nothing in any other way (e.g. replacing it with a zero derivative) may lead to incorrect results, which is why I prefer to error. However, the error message could be nicer, as suggested by #604. What do you think?
Thanks for the quick reply! Gotcha, yeah I think that's a fair solution.
In my problem, I don't think this will usually be an issue in practice but I'm just trying to make sure all the functions leading into the larger scope won't cause issues. Being able to grab that error I think will tell me that this function wouldn't cause problems.
As a follow on to #525 and #527, the AutoZygote() interface also has issues with constant output. Using the same code
The error provided was
On a positive note, both Forward and Reverse Enzyme seem to be working on the function call.
The text was updated successfully, but these errors were encountered: