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 PointNet++ Segmentor #528

Merged
merged 23 commits into from
May 12, 2021

Conversation

Wuziyi616
Copy link
Contributor

  • Support 3D Segmentor class
  • Support 3D decode head class
  • Add configs to support training on ScanNet dataset

@Wuziyi616
Copy link
Contributor Author

Currently there are several conflicts and workarounds in the code, e.g.:

  • MMSeg uses MMCV MODEL registry, while MMDet3D hasn't used. Should change to this style after PR [Enhance] Refactor init_weight #378 is merged
  • MMSeg hasn't finished refactor_init, so currently 3D Seg models use old init function (with pretrained args). Should change to new style after MMSeg finish refactor_init
  • Workarounds include build_model warping build_detector and build_segmentor, train_model warping train_detector and train_segmentor.

@Wuziyi616 Wuziyi616 added the WIP label May 8, 2021
@Tai-Wang
Copy link
Member

  • Support 3D Segmentor class
  • Support 3D decode head class
  • Add configs to support training on ScanNet dataset

Actually you can split it into 3 PRs next time, this one is so large :)

@Tai-Wang
Copy link
Member

Currently there are several conflicts and workarounds in the code, e.g.:

  • MMSeg uses MMCV MODEL registry, while MMDet3D hasn't used. Should change to this style after PR [Enhance] Refactor init_weight #378 is merged
  • MMSeg hasn't finished refactor_init, so currently 3D Seg models use old init function (with pretrained args). Should change to new style after MMSeg finish refactor_init
  • Workarounds include build_model warping build_detector and build_segmentor, train_model warping train_detector and train_segmentor.

build_model and train_model will be used as the workaround for a long time? Or is there any refactor in progress that will resolve this problem?

Copy link
Member

@Tai-Wang Tai-Wang left a comment

Choose a reason for hiding this comment

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

Need to resolve conflicts

from .pipelines import Compose
from .utils import get_loading_pipeline


@DATASETS.register_module()
@SEG_DATASETS.register_module()
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Need to register dataset twice because in mmseg's train_segmentor(), it also calls build_dataset. This can be resolved in the future if we unify DATASET registry over all repos.

@Wuziyi616 Wuziyi616 requested review from ZwwWayne and Tai-Wang May 11, 2021 09:58
@Wuziyi616 Wuziyi616 requested review from Tai-Wang and ZwwWayne May 12, 2021 10:43
pts_semantic_mask_cat = torch.stack(pts_semantic_mask)
return EncoderDecoder.forward_train(
self,
img=points_cat,
Copy link
Collaborator

Choose a reason for hiding this comment

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

This is a little bit ugly, can we implement a more complete base class and fully based on that class?

@ZwwWayne ZwwWayne merged commit 9d852f1 into open-mmlab:master May 12, 2021
@Wuziyi616 Wuziyi616 deleted the pn2_segmentor branch May 13, 2021 04:54
tpoisonooo pushed a commit to tpoisonooo/mmdetection3d that referenced this pull request Sep 5, 2022
* [refactor][API2.0]  Add onnx export and jit trace (open-mmlab#419)

* first commit

* add async call

* add new api onnx export and jit trace

* add decorator

* fix ci

* fix torchscript ci

* fix loader

* better pipemanager

* remove comment, better import

* add kwargs

* remove comment

* better pipeline manager

* remove print

* [Refactor][API2.0] Api partition calibration (open-mmlab#433)

* first commit

* add async call

* add new api onnx export and jit trace

* add decorator

* fix ci

* fix torchscript ci

* fix loader

* better pipemanager

* remove comment, better import

* add partition

* move calibration

* Better create_calib_table

* better deploy

* add kwargs

* remove comment

* better pipeline manager

* rename api, remove reduant variable, and misc

* [Refactor][API2.0] Api ncnn openvino (open-mmlab#435)

* first commit

* add async call

* add new api onnx export and jit trace

* add decorator

* fix ci

* fix torchscript ci

* fix loader

* better pipemanager

* remove comment, better import

* add ncnn api

* finish ncnn api

* add openvino support

* add kwargs

* remove comment

* better pipeline manager

* merge fix

* merge util and onnx2ncnn

* fix docstring

* [Refactor][API2.0] API for TensorRT (open-mmlab#519)

* first commit

* add async call

* add new api onnx export and jit trace

* add decorator

* fix ci

* fix torchscript ci

* fix loader

* better pipemanager

* remove comment, better import

* add partition

* move calibration

* Better create_calib_table

* better deploy

* add kwargs

* remove comment

* Add tensorrt API

* better pipeline manager

* add tensorrt new api

* remove print

* rename api, remove reduant variable, and misc

* add docstring

* [Refactor][API2.0] Api ppl other (open-mmlab#528)

* first commit

* add async call

* add new api onnx export and jit trace

* add decorator

* fix ci

* fix torchscript ci

* fix loader

* better pipemanager

* remove comment, better import

* add kwargs

* Add new APIS for pplnn sdk and misc

* remove comment

* better pipeline manager

* merge fix

* update tools/onnx2pplnn.py

* rename function
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.

3 participants