Skip to content

Commit d1aac35

Browse files
committed
Initial commit
0 parents  commit d1aac35

File tree

214 files changed

+30129
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

214 files changed

+30129
-0
lines changed

.gitignore

+127
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
# Byte-compiled / optimized / DLL files
2+
__pycache__/
3+
*.py[cod]
4+
*$py.class
5+
*.ipynb
6+
7+
# C extensions
8+
*.so
9+
10+
# Distribution / packaging
11+
.Python
12+
build/
13+
develop-eggs/
14+
dist/
15+
downloads/
16+
eggs/
17+
.eggs/
18+
lib/
19+
lib64/
20+
parts/
21+
sdist/
22+
var/
23+
wheels/
24+
*.egg-info/
25+
.installed.cfg
26+
*.egg
27+
MANIFEST
28+
29+
# PyInstaller
30+
# Usually these files are written by a python script from a template
31+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
32+
*.manifest
33+
*.spec
34+
35+
# Installer logs
36+
pip-log.txt
37+
pip-delete-this-directory.txt
38+
39+
# Unit test / coverage reports
40+
htmlcov/
41+
.tox/
42+
.coverage
43+
.coverage.*
44+
.cache
45+
nosetests.xml
46+
coverage.xml
47+
*.cover
48+
.hypothesis/
49+
.pytest_cache/
50+
51+
# Translations
52+
*.mo
53+
*.pot
54+
55+
# Django stuff:
56+
*.log
57+
local_settings.py
58+
db.sqlite3
59+
60+
# Flask stuff:
61+
instance/
62+
.webassets-cache
63+
64+
# Scrapy stuff:
65+
.scrapy
66+
67+
# Sphinx documentation
68+
docs/_build/
69+
70+
# PyBuilder
71+
target/
72+
73+
# Jupyter Notebook
74+
.ipynb_checkpoints
75+
76+
# pyenv
77+
.python-version
78+
79+
# celery beat schedule file
80+
celerybeat-schedule
81+
82+
# SageMath parsed files
83+
*.sage.py
84+
85+
# Environments
86+
.env
87+
.venv
88+
env/
89+
venv/
90+
ENV/
91+
env.bak/
92+
venv.bak/
93+
94+
# Spyder project settings
95+
.spyderproject
96+
.spyproject
97+
98+
# Rope project settings
99+
.ropeproject
100+
101+
# mkdocs documentation
102+
/site
103+
104+
# mypy
105+
.mypy_cache/
106+
107+
# cython generated cpp
108+
mmdet3d/ops/nms/src/soft_nms_cpu.cpp
109+
mmdet3d/version.py
110+
data
111+
.vscode
112+
.idea
113+
114+
# custom
115+
*.pkl
116+
*.pkl.json
117+
*.log.json
118+
work_dirs/
119+
exps/
120+
*~
121+
122+
# Pytorch
123+
*.pth
124+
125+
# demo
126+
*.jpg
127+
*.png

.gitlab-ci.yml

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
variables:
2+
PYTORCH_IMAGE: registry.sensetime.com/eig-research/pytorch:pytorch1.3.1-cuda10.1-devel
3+
4+
stages:
5+
- linting
6+
- test
7+
8+
before_script:
9+
- echo $PATH
10+
- gcc --version
11+
- nvcc --version
12+
- python --version
13+
- pip --version
14+
- python -c "import torch; print(torch.__version__)"
15+
16+
.linting_template: &linting_template_def
17+
stage: linting
18+
script:
19+
- pip install flake8 yapf isort
20+
- flake8 .
21+
- isort -rc --check-only --diff mmdet3d/ tools/ tests/
22+
- yapf -r -d mmdet3d/ tools/ tests/ configs/
23+
24+
.test_template: &test_template_def
25+
stage: test
26+
script:
27+
- echo "Start building..."
28+
- conda install av -c conda-forge -y
29+
- pip install git+https://github.com/open-mmlab/mmdetection.git@v2.0
30+
- python -c "import mmdet; print(mmdet.__version__)"
31+
- pip install -v -e .[all]
32+
- python -c "import mmdet3d; print(mmdet3d.__version__)"
33+
- echo "Start testing..."
34+
- coverage run --branch --source mmdet3d -m pytest tests/
35+
- coverage report -m
36+
37+
linting:pytorch1.3-cuda10:
38+
image: $PYTORCH_IMAGE
39+
<<: *linting_template_def
40+
41+
test:pytorch1.3-cuda10:
42+
image: $PYTORCH_IMAGE
43+
<<: *test_template_def

.isort.cfg

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
[isort]
2+
line_length = 79
3+
multi_line_output = 0
4+
known_standard_library = setuptools
5+
known_first_party = mmdet,mmdet3d
6+
known_third_party = Cython,cv2,mmcv,numba,numpy,nuscenes,pycocotools,pyquaternion,scipy,shapely,six,skimage,terminaltables,torch,torchvision
7+
no_lines_before = STDLIB,LOCALFOLDER
8+
default_section = THIRDPARTY

.pre-commit-config.yaml

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
repos:
2+
- repo: https://gitlab.com/pycqa/flake8.git
3+
rev: 3.7.9
4+
hooks:
5+
- id: flake8
6+
- repo: https://github.com/asottile/seed-isort-config
7+
rev: v2.1.0
8+
hooks:
9+
- id: seed-isort-config
10+
- repo: https://github.com/timothycrosley/isort
11+
rev: 4.3.21
12+
hooks:
13+
- id: isort
14+
- repo: https://github.com/pre-commit/mirrors-yapf
15+
rev: v0.29.0
16+
hooks:
17+
- id: yapf
18+
- repo: https://github.com/pre-commit/pre-commit-hooks
19+
rev: v2.5.0
20+
hooks:
21+
- id: trailing-whitespace
22+
- id: check-yaml
23+
- id: end-of-file-fixer
24+
- id: requirements-txt-fixer
25+
- id: double-quote-string-fixer
26+
- id: fix-encoding-pragma
27+
args: ["--remove"]

.style.yapf

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
[style]
2+
BASED_ON_STYLE = pep8
3+
BLANK_LINE_BEFORE_NESTED_CLASS_OR_DEF = true
4+
SPLIT_BEFORE_EXPRESSION_AFTER_OPENING_PAREN = true

.travis.yml

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
dist: bionic # ubuntu 18.04
2+
language: python
3+
4+
python:
5+
- "3.5"
6+
- "3.6"
7+
- "3.7"
8+
9+
env: CUDA=10.1.105-1 CUDA_SHORT=10.1 UBUNTU_VERSION=ubuntu1804 FORCE_CUDA=1
10+
cache: pip
11+
12+
# Ref to CUDA installation in Travis: https://github.com/jeremad/cuda-travis
13+
before_install:
14+
- INSTALLER=cuda-repo-${UBUNTU_VERSION}_${CUDA}_amd64.deb
15+
- wget http://developer.download.nvidia.com/compute/cuda/repos/${UBUNTU_VERSION}/x86_64/${INSTALLER}
16+
- sudo dpkg -i ${INSTALLER}
17+
- wget https://developer.download.nvidia.com/compute/cuda/repos/${UBUNTU_VERSION}/x86_64/7fa2af80.pub
18+
- sudo apt-key add 7fa2af80.pub
19+
- sudo apt update -qq
20+
- sudo apt install -y cuda-${CUDA_SHORT/./-} cuda-cufft-dev-${CUDA_SHORT/./-}
21+
- sudo apt clean
22+
- CUDA_HOME=/usr/local/cuda-${CUDA_SHORT}
23+
- LD_LIBRARY_PATH=${CUDA_HOME}/lib64:${CUDA_HOME}/include:${LD_LIBRARY_PATH}
24+
- PATH=${CUDA_HOME}/bin:${PATH}
25+
26+
install:
27+
- pip install Pillow==6.2.2 # remove this line when torchvision>=0.5
28+
- pip install torch==1.2 torchvision==0.4.0 # TODO: fix CI for pytorch>1.2
29+
- pip install "git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI"
30+
- pip install -r requirements.txt
31+
32+
before_script:
33+
- flake8 .
34+
- isort -rc --check-only --diff mmdet3d/ tools/ tests/
35+
- yapf -r -d --style .style.yapf mmdet3d/ tools/ tests/ configs/
36+
37+
script:
38+
- python setup.py check -m -s
39+
- python setup.py build_ext --inplace
40+
- coverage run --source mmdet3d -m py.test -v --xdoctest-modules tests mmdet3d
41+
42+
after_success:
43+
- coverage report

README.md

+58
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
2+
# MMDetection3D
3+
4+
5+
## Introduction
6+
7+
The master branch works with **PyTorch 1.1** or higher.
8+
9+
mmdetection3d is an open source 3D object detection toolbox based on PyTorch. It is
10+
a part of the open-mmlab project developed by [Multimedia Laboratory, CUHK](http://mmlab.ie.cuhk.edu.hk/).
11+
12+
13+
### Major features
14+
15+
16+
17+
## License
18+
19+
This project is released under the [Apache 2.0 license](LICENSE).
20+
21+
## Updates
22+
23+
24+
v0.0.1 (07/08/2019)
25+
- the project is initiated
26+
27+
## Benchmark and model zoo
28+
29+
Supported methods and backbones are shown in the below table.
30+
Results and models are available in the [Model zoo](MODEL_ZOO.md).
31+
32+
33+
## Installation
34+
35+
Please refer to [INSTALL.md](INSTALL.md) for installation and dataset preparation.
36+
37+
38+
## Get Started
39+
40+
Please see [GETTING_STARTED.md](GETTING_STARTED.md) for the basic usage of MMDetection.
41+
42+
## Contributing
43+
44+
We appreciate all contributions to improve MMDetection3D. Please refer to [CONTRIBUTING.md](CONTRIBUTING.md) for the contributing guideline.
45+
46+
## Acknowledgement
47+
48+
MMDetection3D is an open source project that is contributed by researchers and engineers from various colleges and companies. We appreciate all the contributors who implement their methods or add new features, as well as users who give valuable feedbacks.
49+
We wish that the toolbox and benchmark could serve the growing research community by providing a flexible toolkit to reimplement existing methods and develop their own new detectors.
50+
51+
52+
## Citation
53+
54+
55+
56+
## Contact
57+
58+
This repo is currently maintained by Wenwei Zhang ([@ZwwWayne](http://github.com/ZwwWayne)).

0 commit comments

Comments
 (0)