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

[WIP] Xception Backend #3383

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from
Draft

[WIP] Xception Backend #3383

wants to merge 2 commits into from

Conversation

roya0045
Copy link

Draft PR for a Xception backend proposal

@CLAassistant
Copy link

CLAassistant commented Jul 23, 2020

CLA assistant check
All committers have signed the CLA.

"""Xception optimized for the ImageNet dataset, as specified in
https://arxiv.org/pdf/1610.02357.pdf."""

def __init__(self,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. Please add complete docstrings for all newly added modules and functions as those in MMDetection V2.x.

self.conv2.out_channels)
# do relu here

self.block1 = Block(
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. Use self.layer1, self.layer2, which are more consistent with ResNets.
  2. Can initialize the blocks/stage layers in a more general form as that in ResNet?


def _init_weights(self, ):
for module in self.modules():
if isinstance(module, nn.Conv2d):
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use the implemented initialization methods (constant_init, kaiming_init) implemented in MMCV, unless the initialization is special and not implemented in MMCV. If so, please also add comments in the code as a reminder.

@ZwwWayne
Copy link
Collaborator

Something to do before merge:

  1. For the backbone, usually it should have a corresponding PR in MMCV to add pre-trained checkpoints. These checkpoints should have been trained on ImageNet and have similar performance (accuracy) as those reported in the paper (for correctness). They can be either adopted from the officially released model (by converting keys to the current correct implementation) or trained by the community. And the implementation in MMDetection should be able to correctly load these keys with an extra classification head (not implemented by mmdet) and produce similar accuracy as the pre-trained classifier.
  2. An example of this process is RegNet.

@roya0045
Copy link
Author

@ZwwWayne Thank you for the review. I have addressed partly your comments for the moment. I will do some more once I get more time. Thanks once again!

@OpenMMLab-Assistant003
Copy link

Hi @roya0045!We are grateful for your efforts in helping improve this open-source project during your personal time.
Welcome to join OpenMMLab Special Interest Group (SIG) private channel on Discord, where you can share your experiences, ideas, and build connections with like-minded peers. To join the SIG channel, simply message moderator— OpenMMLab on Discord or briefly share your open-source contributions in the #introductions channel and we will assist you. Look forward to seeing you there! Join us :https://discord.gg/UjgXkPWNqA
If you have a WeChat account,welcome to join our community on WeChat. You can add our assistant :openmmlabwx. Please add "mmsig + Github ID" as a remark when adding friends:)
Thank you again for your contribution❤ @roya0045

FANGAreNotGnu pushed a commit to FANGAreNotGnu/mmdetection that referenced this pull request Oct 23, 2023
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

Successfully merging this pull request may close these issues.

4 participants