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] Support MinkowskiEngine with MinkResNet #1422

Merged
merged 5 commits into from
Apr 28, 2022

Conversation

filaPro
Copy link
Contributor

@filaPro filaPro commented Apr 23, 2022

Motivation

Support MinkowskiEngine as a part of FCAF3D development plan. This sparse convolution backend can be used for other detection or segmentation methods.

Modification

Add docs about MinkowskiEngine installation and MinkResNet model with test.

BC-breaking (Optional)

No.

@filaPro filaPro changed the base branch from master to dev April 23, 2022 19:40
@codecov
Copy link

codecov bot commented Apr 24, 2022

Codecov Report

Merging #1422 (07fbe04) into dev (023c88b) will decrease coverage by 0.27%.
The diff coverage is 27.58%.

@@            Coverage Diff             @@
##              dev    #1422      +/-   ##
==========================================
- Coverage   51.17%   50.89%   -0.28%     
==========================================
  Files         212      217       +5     
  Lines       18284    18567     +283     
  Branches     2980     3031      +51     
==========================================
+ Hits         9356     9450      +94     
- Misses       8371     8549     +178     
- Partials      557      568      +11     
Flag Coverage Δ
unittests 50.89% <27.58%> (-0.28%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
mmdet3d/models/backbones/mink_resnet.py 26.31% <26.31%> (ø)
mmdet3d/models/backbones/__init__.py 100.00% <100.00%> (ø)
mmdet3d/models/detectors/two_stage.py 80.00% <0.00%> (-20.00%) ⬇️
mmdet3d/models/builder.py 84.93% <0.00%> (-3.45%) ⬇️
mmdet3d/models/roi_heads/h3d_roi_head.py 35.71% <0.00%> (-1.13%) ⬇️
...ls/roi_heads/mask_heads/pointwise_semantic_head.py 29.33% <0.00%> (-0.93%) ⬇️
mmdet3d/models/roi_heads/point_rcnn_roi_head.py 25.96% <0.00%> (-0.71%) ⬇️
...et3d/models/roi_heads/part_aggregation_roi_head.py 33.02% <0.00%> (-0.61%) ⬇️
mmdet3d/models/dense_heads/ssd_3d_head.py 14.67% <0.00%> (-0.47%) ⬇️
mmdet3d/models/segmentors/encoder_decoder.py 21.57% <0.00%> (-0.42%) ⬇️
... and 27 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 023c88b...07fbe04. Read the comment docs.

@ZCMax
Copy link
Collaborator

ZCMax commented Apr 27, 2022

Once one comment left fixed, the PR is ready to merge.

@filaPro
Copy link
Contributor Author

filaPro commented Apr 27, 2022

Looks like there is no BACKBONES in mmdet3d.models. Should I import from mmdet3d.models.builder, or wait untill the related PR is merged?

@ZCMax
Copy link
Collaborator

ZCMax commented Apr 27, 2022

Looks like there is no BACKBONES in mmdet3d.models. Should I import from mmdet3d.models.builder, or wait untill the related PR is merged?

yes, sorry it's my mistake, just import from mmdet3d.models.builder

@ZwwWayne
Copy link
Collaborator

Hi @filaPro ,
Thanks for the kind contribution. The overall looks good to me.
There are a few comments before merge. Further, you may consider add the package in https://github.com/open-mmlab/mmdetection3d/blob/master/requirements/optional.txt

@filaPro
Copy link
Contributor Author

filaPro commented Apr 27, 2022

Hi @ZwwWayne,
I can replace

apt-get install -y python3-dev libopenblas-dev
pip install ninja
pip install -U git+https://github.com/NVIDIA/MinkowskiEngine --install-option="--blas=openblas" -v --no-deps

with

conda install openblas-devel -c anaconda
pip install -U git+https://github.com/NVIDIA/MinkowskiEngine -v --no-deps --install-option="--blas_include_dirs=/opt/conda/include" --install-option="--blas=openblas"

Is it ok? Also don't quite understand which of these 2 lines can we add to requirements/optional.txt?

@ZwwWayne
Copy link
Collaborator

I think we can simply use these two lines.
If so, we may skip adding the optional.txt since it requires extra commands and dependencies.

@ZwwWayne ZwwWayne merged commit 276b264 into open-mmlab:dev Apr 28, 2022
@filaPro filaPro deleted the minkowski_engine branch April 28, 2022 05:46
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