Custom rrule for Feedback Alignment

What you’re missing is qualifying (or importing) rrule. At present this defines a new function of that name, instead (as you did for show) you need to add methods to the existing ChainRulesCore.rrule.

julia> rrule
rrule (generic function with 1 method)

julia> function ChainRulesCore.rrule(::typeof(my_matmul), W::Matrix, X::Matrix, B::Matrix)
          y = my_matmul(W, X, B)
          ...
2 Likes