Releases: slimgroup/InvertibleNetworks.jl
v2.0.1
InvertibleNetworks v2.0.1
Closed issues:
Merged pull requests:
- Typos (#28) (@PallHaraldsson)
- add SLIM registry (#29) (@alisiahkoohi)
- Hyperbolic network now uses GPU supported Haar wavelet (#31) (@PetersBas)
- add compat for registration (#33) (@mloubout)
Chainrules
- Support for chainrules and Zygote
- Fix GPU support
- Make layers/network size independent to follow general conventions and generalizations.
GPU support
Fixes GPU support:
- Fix dimensionality manipulation views
- Fix loss function input types
- Add GPU supported Haar wavelet squeeze/unsqueeze
Simplifies and fix bugs in Hyperbolic layer
Add documentation
Jacobians and adjoint Jacobians of layers and networks
Implementation of Jacobian evaluation (and adjoint thereof) for invertible networks
Main contributions:
-
added Jacobian functionalities for most of the layers and networks already implemented, except for layers and networks requiring a "link" function (
invertible_layer_slim_additive
,invertible_layer_slim_affine
,invertible_network_irim
) and Flux blocks that requires forward-mode AD; -
Jacobians can be wrapped around an abstract linear algebra framework, see
/examples/jacobian/jacobian_linear_algebra.jl
; -
composition functionalities to string networks/layers together, see
/examples/utils/composition_of_networks.jl
Jacobians also work together with Composition. -
new layers/networks: layer_resnet (as a Flux block), invertible_network_hint_multiscale (previously only had a conditional version)
-
utilities for
Parameter
orArray{Parameter, 1}
direct manipulation, see/examples/utils/parameter_algebra.jl
v1.0.1b
First release
v.1.0.0 double assignment