Adding part, semantic segmentation models
This PR solves issue https://github.com/NVIDIAGameWorks/kaolin/issues/29
Currently under development.
- [x] Implement Part segmentation model
- [x] Implement Semantic segmentation model
- [x] Add classification example with DGCNNClassifier and ModelNet dataset
- [ ] Add part segmentation example with DGCNNPartSegmentation and ShapeNet dataset
- [ ] Add semantic segmentation example with DGCNNSemanticSegmentation and S3DIS dataset.
- [ ] Update documentation
- [ ] Add example jupyter notebooks.
- [ ] CLI command to run individual model.
- [ ] Update CI with regression test(CLI command)
Hi @krrish94 Currently I think dgcnn examples are not present in kaolin. Which dataset should I use to develop the examples?
I feel ShapeNet or ModelNet should be a good start
Thanks for pointing out. I'll start working on it.
Thanks for initiating the WIP PR.
One other thing you might want to add your TODO is a "regression" test that'll be run on CI, to ensure your example "runs". To the extent possible, it'll be great if you can adopt similar names for commandline args. (Also, the regression test will need to be run on the CI side, so we recommend keeping it small. 1 epoch, or fewer (on a very tiny subset of categories), should be good.
Example regression tests can be found here
Not really important rn, but there's minor bugfixes / flake8 issues that you should be able to fix.
http://54.165.235.207:8000/NVIDIAGameWorks/kaolin/232/1/2
(I'd recommend using black to lint, if you're unsure)
I have updated the TODOs with the unit tasks. Thanks for pointing out.
I did this as a very initial commit with raw models to learn development process. I'll fix the issues soon :D
Facing the issue
RuntimeError: Input type (torch.FloatTensor) and weight type (torch.cuda.FloatTensor) should be the same
due to https://github.com/NVIDIAGameWorks/kaolin/issues/249
DGCNN PointCloud Classification now working - https://github.com/pushkalkatara/kaolin/blob/dgcnn-seg/examples/Classification/DGCNN_PointCloud_Classification.ipynb
As a sub-issue for Part/Semantic segmentation examples, dataset required - ShapeNetCore PartSeg labels, S3DIS (Semantic Segmmentation). https://github.com/NVIDIAGameWorks/kaolin/issues/246