Automatic differentiation
Most of the package is compatible with autodiff in Flux
and Zygote
. Exceptions:
- may or may not work with FFT convolutions. set
alg = :direct
if encountering autodiff error - some special
border
options
An alternative autodiff package is Enzyme.jl
which works at the LLVM level and can handle limitations in Zygote
eg array mutation. It's probably the future of autodiff in Julia/C++ but isn't yet mature.