Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing invertible 1x1 conv from GLOW #50

Open
plutoyuxie opened this issue Jan 26, 2021 · 1 comment
Open

Missing invertible 1x1 conv from GLOW #50

plutoyuxie opened this issue Jan 26, 2021 · 1 comment

Comments

@plutoyuxie
Copy link

Hi, I want to rebuild a framework referring to glow. Here I have some doubts:

  1. Is 'OrthogonalTransform' equal to the 'invertible 1x1 conv' in glow?

  2. If I only want to use addition coupling rather than affine coupling, should I just use NICECouplingBlock instead of GLOWCouplingBlock?

Thanks for help.

@ardizzone
Copy link
Member

Hi!

1.)
We currently have not implementation of the invertible 1x1 conv (only the glow coupling, as you know).
We should probably include it, I will try to get it done this this week, keeping track of it here: vislearn/FrEIA-community#3
The OrthogonalTransform is similar to the invertible 1x1, with the difference that the matrix is constrained to the Steifel manifold (in an attempt to do something similar than GLOW with extra guarantees and stability).
But the OrthogonalTransform gives quite bad performance in my experience, especially for images.

2.)
Yes, that is correct! Or, if you prefer, you could set the clamp option of the GLOWCouplingBlock to 0., to get the same behaviour (but it will be slower and have some unused network parameters)

(I'm changing the title to better keep track of the issue)

@ardizzone ardizzone changed the title Glow structure? Missing invertible 1x1 conv from GLOW Feb 9, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants