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

Questions on architecture design choices #24

Closed
Kait0 opened this issue Jan 24, 2023 · 2 comments
Closed

Questions on architecture design choices #24

Kait0 opened this issue Jan 24, 2023 · 2 comments

Comments

@Kait0
Copy link

Kait0 commented Jan 24, 2023

Hi I have a couple of question regarding your NN architecture design and I would like to ask if you could give the the motivation for these particular design choices (or if they are copied from some other work point me to it):

For both ResNet backbones you stopped at the 3rd block and did not use the 4th block:

self.backbone = nn.Sequential(*list(resnet.children())[:-4])

self.layer3 = backbone.layer3

What is the motivation for the use of instance normalization in the decoders?

nn.InstanceNorm2d(shared_out_channels),

Why did you not use activation functions for the up-sampling layers in the BEV grid?

class UpsamplingAdd(nn.Module):

@aharley
Copy link
Owner

aharley commented Jan 24, 2023

Great questions.

3rd block: I think we did this so that the resolutions would match up with the EfficientNet versions (which came from FIERY).

Instance norm: This probably makes only a tiny difference in practice. In general I prefer instancenorm over batchnorm because instancenorm is friendlier to experiments with low batch sizes.

No activation in upsampling: copied from FIERY: https://github.com/wayveai/fiery/blob/master/fiery/layers/convolutions.py

@Kait0
Copy link
Author

Kait0 commented Jan 25, 2023

Thanks.

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