Miha Zgubic

Results 66 comments of Miha Zgubic

My main takeaway from this discussion is that not supporting thunks inside rrules is a serious deficiency, and we should work towards fixing that. It should probably be on the...

Not necessarily, only in cases where the thunk would have been unthunked more than once. See https://github.com/JuliaDiff/ChainRules.jl/pull/449 (which is nearly there)

Yes, that's right, some thunks will pass through. We will need to be careful that we do unthunk in cases where the thunk is used twice (to avoid the duplicate...

DynamicPPL seems to be the same failures as just running current HEAD on julia 1.8, so this is probably good to go? https://github.com/TuringLang/DynamicPPL.jl/issues/423

I tried commenting out the adjoints for `abs2` but that didn't solve it. It also breaks without arrays ```julia julia> function mwe() a = 0 b = .5 data =...

From `features.jl:98` ``` ERROR: BoundsError: attempt to access (DoesNotExist(), DoesNotExist(), Composite{Any}(3, 2)) at index [4] ``` (used to be `(DoesNotExist(), DoesNotExist(), 3, 2)` before switching) I can't quite think of...

Here it is, in case you find it useful: ```julia differential2legacy(x) = unthunk(x) # TODO eventually remove this differential2legacy(::AbstractZero) = nothing differential2legacy(t::Union{Tuple, NamedTuple}) = map(differential2legacy, t) differential2legacy(::Nothing) = (legacytype_warn(Nothing); return...

>but I don't know how to get the adjoint of a user-provided function You could use `Zygote.pullback` to AD through it, which will get an adjoint if it exists. A...

Have you tried `] up`ing your env? I can't reproduce the issue I'm afraid :(