Ok, with Julia 1.5.0 and Yota 0.4.4 I see another error related to the recent changes in getindex():
ERROR: BoundsError: attempt to access 1×2×2 Array{Float64,3} at index [1:1, 4, 1]
The changes were needed to support the case with repeating indices, e.g. getindex(x, [1, 2, 1]) (see related issue in Zygote if you’re curious about the whole story), but implementation is bit of a hack, so we get what we get.
I see 2 options for you here:
- If you don’t plan to use repeating indices, just use Yota@0.4.2 - I just checked your
f2()andf3()on it and they work perfectly fine. - If your code may have repeating indices, you will have to wait for this PR in NNlib, which I will then use to replace my hacky implementation of scatter operations.