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

Can we replace conv2d by gconv2d directly? #3

Open
a14en9 opened this issue Oct 15, 2019 · 2 comments
Open

Can we replace conv2d by gconv2d directly? #3

a14en9 opened this issue Oct 15, 2019 · 2 comments

Comments

@a14en9
Copy link

a14en9 commented Oct 15, 2019

Dear Dr. Cohen.

Can we simply use gconv2d as an replacement of conv2d in any standard architecture, such as VGG16?

Or we have to train the model from scratch?

Best wishes

@tscohen
Copy link
Owner

tscohen commented Oct 22, 2019

You would need to train the model from scratch, because a G-Conv has a different number of parameters from a conv. To turn any CNN architecture into a G-CNN, you need to replace every layer with an equivariant counterpart. For VGG, I think it would just amount to replacing each conv layer by a G-conv layer and then re-training. But I always recommend checking whether the architecture you made is actually equivariant, e.g. by feeding an input image and a 90-degree rotated one, and seeing whether the output of the last layer transforms in the way you expect (e.g. by rotating and channel-shuffling).

@a14en9
Copy link
Author

a14en9 commented Oct 30, 2019

Hi Dr.Cohen,

Thank you for your explanations. I notice that you listed results on Cifar 10 datasets. Have you pretrained your own model on large-scale datasets, such as ImageNet. Is that possible to share your pretrained model and weights on Cloud, please?

Best wishes

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