# Pointnet2_PyTorch **Repository Path**: jackmacoder/Pointnet2_PyTorch ## Basic Information - **Project Name**: Pointnet2_PyTorch - **Description**: No description available - **Primary Language**: Unknown - **License**: Unlicense - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-10-22 - **Last Updated**: 2023-10-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README Pointnet2/Pointnet++ PyTorch ============================ **Project Status**: Unmaintained. Due to finite time, I have no plans to update this code and I will not be responding to issues. * Implemention of Pointnet2/Pointnet++ written in `PyTorch `_. * Supports Multi-GPU via `nn.DataParallel `_. * Supports PyTorch version >= 1.0.0. Use `v1.0 `_ for support of older versions of PyTorch. See the official code release for the paper (in tensorflow), `charlesq34/pointnet2 `_, for official model definitions and hyper-parameters. The custom ops used by Pointnet++ are currently **ONLY** supported on the GPU using CUDA. Setup ----- * Install ``python`` -- This repo is tested with ``{3.6, 3.7}`` * Install ``pytorch`` with CUDA -- This repo is tested with ``{1.4, 1.5}``. It may work with versions newer than ``1.5``, but this is not guaranteed. * Install dependencies :: pip install -r requirements.txt Example training ---------------- Install with: ``pip install -e .`` There example training script can be found in ``pointnet2/train.py``. The training examples are built using `PyTorch Lightning `_ and `Hydra `_. A classifion pointnet can be trained as :: python pointnet2/train.py task=cls # Or with model=msg for multi-scale grouping python pointnet2/train.py task=cls model=msg Similarly, semantic segmentation can be trained by changing the task to ``semseg`` :: python pointnet2/train.py task=semseg Multi-GPU training can be enabled by passing a list of GPU ids to use, for instance :: python pointnet2/train.py task=cls gpus=[0,1,2,3] Building only the CUDA kernels ---------------------------------- :: pip install pointnet2_ops_lib/. # Or if you would like to install them directly (this can also be used in a requirements.txt) pip install "git+git://github.com/erikwijmans/Pointnet2_PyTorch.git#egg=pointnet2_ops&subdirectory=pointnet2_ops_lib" Contributing ------------ This repository uses `black `_ for linting and style enforcement on python code. For c++/cuda code, `clang-format `_ is used for style. The simplest way to comply with style is via `pre-commit `_ :: pip install pre-commit pre-commit install Citation -------- :: @article{pytorchpointnet++, Author = {Erik Wijmans}, Title = {Pointnet++ Pytorch}, Journal = {https://github.com/erikwijmans/Pointnet2_PyTorch}, Year = {2018} } @inproceedings{qi2017pointnet++, title={Pointnet++: Deep hierarchical feature learning on point sets in a metric space}, author={Qi, Charles Ruizhongtai and Yi, Li and Su, Hao and Guibas, Leonidas J}, booktitle={Advances in Neural Information Processing Systems}, pages={5099--5108}, year={2017} }