Downside is that we have to re-implement a few common interface things from Flux.jl, like glorot_normal, and to remove Zygote.jl we'd have to re-implement the Buffer and it's adjoints with ChainRulesCore.jl. Not worth it for now.
I've left a note in src/RobustNeuralNetworks.jl on how to remove Flux.jl as a dependency if we want to do this in the future.
As outlined in https://github.com/acfr/RobustNeuralNetworks.jl/issues/75, I tried removing
Flux.jl
as a dependency to improve package loading speeds. It speeds things up by about 30%, going from 2.4s to 1.7s in Julia v1.9.Downside is that we have to re-implement a few common interface things from
Flux.jl
, likeglorot_normal
, and to removeZygote.jl
we'd have to re-implement theBuffer
and it's adjoints withChainRulesCore.jl
. Not worth it for now.I've left a note in
src/RobustNeuralNetworks.jl
on how to removeFlux.jl
as a dependency if we want to do this in the future.