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

[Feature] Add ModuleDict inherited from BaseModule and ModuleDict #1542

Merged
merged 14 commits into from
Dec 6, 2021

Conversation

LutingWang
Copy link
Contributor

@LutingWang LutingWang commented Nov 30, 2021

Thanks for your contribution and we appreciate it a lot. The following instructions would make your pull request more healthy and more easily get feedback. If you do not understand some items, don't worry, just make the pull request and seek help from maintainers.

Motivation

Add ModuleDict base module.

Modification

mmcv/runner/init.py
mmcv/runner/base_module.py
docs/understand_mmcv/cnn.md
docs_zh_CN/understand_mmcv/cnn.md
mmcv/tests/test_runner/test_basemodule.py

BC-breaking (Optional)

Does the modification introduce changes that break the backward-compatibility of the downstream repositories?
If so, please describe how it breaks the compatibility and how the downstream projects should modify their code to keep compatibility with this PR.

Use cases (Optional)

If this PR introduces a new feature, it is better to list some use cases here, and update the documentation.

Checklist

Before PR:

  • I have read and followed the workflow indicated in the CONTRIBUTING.md to create this PR.
  • Pre-commit or linting tools indicated in CONTRIBUTING.md are used to fix the potential lint issues.
  • Bug fixes are covered by unit tests, the case that causes the bug should be added in the unit tests.
  • New functionalities are covered by complete unit tests. If not, please add more unit test to ensure the correctness.
  • The documentation has been modified accordingly, including docstring or example tutorials.

After PR:

  • If the modification has potential influence on downstream or other related projects, this PR should be tested with some of those projects, like MMDet or MMCls.
  • CLA has been signed and all committers have signed the CLA in this PR.

@zhouzaida
Copy link
Collaborator

Hi @LutingWang , thanks for your contribution. You can merge the master branch to your branch because the circleci of CI depends on a file .circleci/config.yaml.
image

In addition, the unit tests should be added and you can refer to mmcv/tests/test_runner/test_basemodule.py.

def test_modulelist_weight_init():

@zhouzaida
Copy link
Collaborator

The lint (https://app.circleci.com/pipelines/github/open-mmlab/mmcv/88/workflows/1b121e11-9403-4266-8ffc-ef11b12f257b/jobs/172) failed.
It is recommended to follow the CONTRIBUTING.md to install pre-commit which will automatically fix the lint.

mmcv/cnn/__init__.py Outdated Show resolved Hide resolved
Copy link
Contributor

@teamwong111 teamwong111 left a comment

Choose a reason for hiding this comment

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

LGTM

@zhouzaida zhouzaida changed the title Improve: module dict [Feature] Add ModuleDict inherited from BaseModule and ModuleDict Dec 2, 2021
"""ModuleDict in openmmlab.

Args:
modules (dict, optional): an dict of modules to add.
Copy link
Collaborator

@MeowZheng MeowZheng Dec 3, 2021

Choose a reason for hiding this comment

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

modules(dict, optional): A mapping (dictionary) of (string: module) or an iterable of key-value pairs of type (string, module)

@ZwwWayne ZwwWayne merged commit 56e9f73 into open-mmlab:master Dec 6, 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

Successfully merging this pull request may close these issues.

5 participants