mccaly's picture
Upload 2805 files
985cc7f
|
raw
history blame
1.87 kB

Contributing to mmsegmentation

All kinds of contributions are welcome, including but not limited to the following.

  • Fixes (typo, bugs)
  • New features and components

Workflow

  1. fork and pull the latest mmsegmentation
  2. checkout a new branch (do not use master branch for PRs)
  3. commit your changes
  4. create a PR

Note

  • If you plan to add some new features that involve large changes, it is encouraged to open an issue for discussion first.
  • If you are the author of some papers and would like to include your method to mmsegmentation, please contact Kai Chen (chenkaidev[at]gmail[dot]com). We will much appreciate your contribution.

Code style

Python

We adopt PEP8 as the preferred code style.

We use the following tools for linting and formatting:

Style configurations of yapf and isort can be found in setup.cfg and .isort.cfg.

We use pre-commit hook that checks and formats for flake8, yapf, isort, trailing whitespaces, fixes end-of-files, sorts requirments.txt automatically on every commit. The config for a pre-commit hook is stored in .pre-commit-config.

After you clone the repository, you will need to install initialize pre-commit hook.

pip install -U pre-commit

From the repository folder

pre-commit install

After this on every commit check code linters and formatter will be enforced.

Before you create a PR, make sure that your code lints and is formatted by yapf.

C++ and CUDA

We follow the Google C++ Style Guide.