Git Product home page Git Product logo

princeton-vl / simpleview Goto Github PK

View Code? Open in Web Editor NEW
151.0 10.0 24.0 5.43 MB

Official Code for ICML 2021 paper "Revisiting Point Cloud Shape Classification with a Simple and Effective Baseline"

License: BSD 3-Clause "New" or "Revised" License

Python 85.68% Shell 1.11% C 0.49% C++ 6.67% Cuda 6.01% CMake 0.05%
point-cloud point-cloud-processing icml-2021 simpleview modelnet-dataset modelnet40 sota 3d-vision point-cloud-classification pointnet

simpleview's Introduction

PWCPWC

Revisiting Point Cloud Shape Classification with a Simple and Effective Baseline
Ankit Goyal, Hei Law, Bowei Liu, Alejandro Newell, Jia Deng
International Conference on Machine Learning (ICML), 2021

If you find our work useful in your research, please consider citing:

@article{goyal2021revisiting,
  title={Revisiting Point Cloud Shape Classification with a Simple and Effective Baseline},
  author={Goyal, Ankit and Law, Hei and Liu, Bowei and Newell, Alejandro and Deng, Jia},
  journal={International Conference on Machine Learning},
  year={2021}
}

Getting Started

First clone the repository. We would refer to the directory containing the code as SimpleView.

git clone [email protected]:princeton-vl/SimpleView.git

Requirements

The code is tested on Linux OS with Python version 3.7.5, CUDA version 10.0, CuDNN version 7.6 and GCC version 5.4. We recommend using these versions especially for installing pointnet++ custom CUDA modules.

Install Libraries

We recommend you first install Anaconda and create a virtual environment.

conda create --name simpleview python=3.7.5

Activate the virtual environment and install the libraries. Make sure you are in SimpleView.

conda activate simpleview
pip install -r requirements.txt
conda install sed  # for downloading data and pretrained models

For PointNet++, we need to install custom CUDA modules. Make sure you have access to a GPU during this step. You might need to set the appropriate TORCH_CUDA_ARCH_LIST environment variable depending on your GPU model. The following command should work for most cases export TORCH_CUDA_ARCH_LIST="6.0;6.1;6.2;7.0;7.5". However, if the install fails, check if TORCH_CUDA_ARCH_LIST is correctly set. More details could be found here.

cd pointnet2_pyt && pip install -e . && cd ..

Download Datasets and Pre-trained Models

Make sure you are in SimpleView. download.sh script can be used for downloading all the data and the pretrained models. It also places them at the correct locations. First, use the following command to provide execute permission to the download.sh script.

chmod +x download.sh

To download ModelNet40 execute the following command. This will download the ModelNet40 point cloud dataset released with pointnet++ as well as the validation splits used in our work.

./download.sh modelnet40

To download the pretrained models, execute the following command.

./download.sh pretrained

Code Organization

  • SimpleView/models: Code for various models in PyTorch.
  • SimpleView/configs: Configuration files for various models.
  • SimpleView/main.py: Training and testing any models.
  • SimpleView/configs.py: Hyperparameters for different models and dataloader.
  • SimpleView/dataloader.py: Code for different variants of the dataloader.
  • SimpleView/*_utils.py: Code for various utility functions.

ScanObjectNN

The code for our experiments on ScanObjectNN can be found in ScanObjectNN/SimpleView of this repo. Please refer to README.md in ScanObjectNN/SimpleView for more details.

Running Experiments

Training and Config files

To train or test any model, we use the main.py script. The format for running this script is as follows.

python main.py --exp-config <path to the config>

The config files are named as <protocol>_<model_name><_extra>_run_<seed>.yaml (<protocol> ∈ [dgcnn, pointnet2, rscnn]; <model_name> ∈ [dgcnn, pointnet2, rscnn, pointnet, simpleview]; <_extra> ∈ ['',valid,0.5,0.25] ). For example, the config file to run an experiment for PointNet++ in DGCNN protocol with seed 1 dgcnn_pointnet2_run_1.yaml. To run a new experiment with a different seed, you need to change the SEED parameter in the config file. For all our experiments (including on the validation set) we do 4 runs with different seeds.

As discussed in the paper for the PointNet++ and SimpleView protocols, we need to first run an experiment to tune the number of epochs on the validation set. This could be done by first running the experiment <pointnet2/dgcnn>_<model_name>_valid_run_<seed>.yaml and then running the experiment <pointnet2/dgcnn>_<model_name>_run_<seed>.yaml. Based on the number of epochs achieving the best performance on the validation set, one could use the model trained on the complete training set to get the final test performance.

To train models on the partial training set (Table 7), use the configs named as dgcnn_<model_name>_valid_<0.25/0.5>_run_<seed>.yaml and <dgcnn>_<model_name>_<0.25/0.5>_run_<seed>.yaml.

Even with the same SEED the results could vary slightly because of the randomization introduced for faster cuDNN operations. More details could be found here

SimpleView Protocol

To run an experiment in the SimpleView protocol, there are two stages.

  • First tune the number of epochs on the validation set. This is done using configs dgcnn_<model_name>_valid_run_<seed>.yaml. Find the best number of epochs on the validation set, evaluated at every 25th epoch.
  • Train the model on the complete training set using configs dgcnn_<model_name>_run_<seed>.yaml. Use the performance on the test set at the fine-tuned number of epochs as the final performance.

Evaluate a pretrained model

We provide pretrained models. They can be downloaded using the ./download pretrained command and are stored in the SimpleView/pretrained folder. To test a pretrained model, the command is of the following format.

python main.py --entry <test/rscnn_vote/pn2_vote> --model-path pretrained/<cfg_name>/<model_name>.pth --exp-config configs/<cfg_name>.yaml

We list the evaluation commands in the eval_models.sh script. For example to evaluate models on the SimpleView protocol, use the commands here. Note that for the SimpleView and the Pointnet2 protocols, the model path has names in the format model_<epoch_id>.pth. Here epoch_id represents the number of epochs tuned on the validation set.

Performance of the released pretrained models on ModelNet40

Protocol → DGCNN - Smooth DCGNN - CE. RSCNN - No Vote PointNet - No Vote SimpleView
Method↓ (Tab. 2, Col. 7) (Tab. 2, Col. 6) (Tab. 2, Col. 5) (Tab. 2, Col. 2) (Tab. 4, Col. 2)
SimpleView 93.9 93.2 92.7 90.8 93.3
PointNet++ 93.0 92.8 92.6 89.7 92.6
DGCNN 92.6 91.8 92.2 89.5 92.0
RSCNN 92.3 92.0 92.2 89.4 91.6
PointNet 90.7 90.0 89.7 88.8 90.1

Acknowlegements

We would like to thank the authors of the following reposities for sharing their code.

  • PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation: 1, 2
  • PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric Space: 1, 2
  • Relation-Shape Convolutional Neural Network for Point Cloud Analysis: 1
  • Dynamic Graph CNN for Learning on Point Clouds: 1

simpleview's People

Contributors

heilaw avatar imankgoyal avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

simpleview's Issues

Cannot download the modelnet40 val split

As a researcher from China, I cannot download the modelnet40 validataion split as I cannot acess google in Linux command line.

Could you please provide a download link of the modelnet40 validation split that is open from the browser? I can acess google from the browser.

Thanks.

Multi-GPU Support

Thank you so much for releasing the code.

I noticed the below error when I tried to training using 2 GPUs.

RuntimeError: arguments are located on different GPUs at /pytorch/aten/src/THC/generic/THCTensorMathBlas.cu:540

Please let us know if the code supports multi-GPU training?

Visualizing SimpleView

Saved the input point cloud (into .npz files) and the 6 views using the below code in the mv.py file.

    pc = pc.cuda()
    # Save input point cloud
    input_pc = pc.detach().cpu().numpy()
    np.savez('input_pc', tensorname=input_pc)

    img = self.get_img(pc)
    # save views
    proj = img.view((pc.shape[0],-1, 128, 128)).detach().cpu().numpy()
    np.savez('proj', tensorname=proj)

From the input_pc.npz file I have confirmed object 3 is a chair (visualized below).
image

Then used a simple below code to visualize.

from PIL import Image
import numpy as np
data = np.load('proj.npz')['tensorname']

img = Image.fromarray(data[3][1], 'RGB') # here 3 is an object (chair) and 1 one of the 6 views
img.show()

And found the below view.
image

It looks like the side view of a chair. However, the chair is repeated.
Can you please help me understand why the chair is repeated?

Thanks in Advance.

Error on training on scanobjectNN dataset

‘’‘
--2022-07-12 03:24:51-- https://shapenet.cs.stanford.edu/media/modelnet40_ply_hdf5_2048.zip
Resolving shapenet.cs.stanford.edu (shapenet.cs.stanford.edu)... 171.67.77.19
Connecting to shapenet.cs.stanford.edu (shapenet.cs.stanford.edu)|171.67.77.19|:443... connected.
ERROR: cannot verify shapenet.cs.stanford.edu's certificate, issued by ‘CN=InCommon RSA Server CA,OU=InCommon,O=Internet2,L=Ann Arbor,ST=MI,C=US’:
Issued certificate has expired.
To connect to shapenet.cs.stanford.edu insecurely, use `--no-check-certificate'.
unzip: cannot find or open modelnet40_ply_hdf5_2048.zip, modelnet40_ply_hdf5_2048.zip.zip or modelnet40_ply_hdf5_2048.zip.ZIP.
mv: cannot stat 'modelnet40_ply_hdf5_2048': No such file or directory
rm: cannot remove 'modelnet40_ply_hdf5_2048.zip': No such file or directory
(('dataset', 'object'), ('views', 6), ('resolution', 128), ('trans', -1.4), ('size', 4), ('normalize', False), ('norm_pc', True))
Traceback (most recent call last):
File "train.py", line 141, in
('norm_pc', NORMALIZED),
File "/content/drive/MyDrive/SimpleView-master/ScanObjectNN/SimpleView/utils/utils.py", line 93, in get_mv_mean_var
mean_var_list = data[param_tuple]
KeyError: (('dataset', 'object'), ('views', 6), ('resolution', 128), ('trans', -1.4), ('size', 4), ('normalize', False), ('norm_pc', True))
‘’‘

Incorrect loss calculation

@imankgoyal
The classification loss at line 123 of the file "main.py" is incorrect,

loss = F.cross_entropy(logit, label)

because at line 147 of file "pointnet_pyt/pointnet/model.py", the output of the fully-connected layer has been applied the F.log_softmax().

return F.log_softmax(x, dim=1), trans, trans_feat

Adding value to points

Can this be extended to allow points to have a value/colour scalar etc?

I have tried implementing point properties myself, but I am having trouble following the code in preprocessing script "mv_utils.py".
There seems to be a lot of variables that are created, and then never used!, Also, weighed_value_scattered, weight_scattered are not well documented.

Cannot work with pytorch 1.4.0 and cuda 10.0

Hello,

my name is Roby, and I found this work interesting. can I implement this on the Windows platform with anaconda? I tried so many versions of CUDA and it did not work. is this code must be run on PyTorch 1.4.0 with Cuda 10.0?

thank you

fatal error: ball_query.h: No such file or directory

Hi,

I was trying to build pointnet2 under subfolder pointnet2_pyt, with command pythong setup.py build, actually I took a look at setup.py, and it seems to have included the correct directory, but .... a relative one, NOT a absolute directory. And ninja failed to build it as:

pointnet2_pyt git:(master) ✗ python setup.py bdist_wheel --universal
running bdist_wheel
running build
running build_py
running build_ext
building 'pointnet2._ext' extension
Emitting ninja build file ....../SimpleView/pointnet2_pyt/build/temp.linux-x86_64-cpython-310/build.ninja...
Compiling objects...
Allowing ninja to set a default number of workers... (overridable by setting the environment variable MAX_JOBS=N)
[1/9] c++ -MMD -MF ....../SimpleView/pointnet2_pyt/build/temp.linux-x86_64-cpython-310/pointnet2/_ext-src/src/ball_query.o.d -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I~/.local/lib/python3.10/site-packages/torch/include -I~/.local/lib/python3.10/site-packages/torch/include/torch/csrc/api/include -I~/.local/lib/python3.10/site-packages/torch/include/TH -I~/.local/lib/python3.10/site-packages/torch/include/THC -I/usr/local/cuda/include -I/usr/include/python3.10 -c -c ....../SimpleView/pointnet2_pyt/pointnet2/_ext-src/src/ball_query.cpp -o ....../SimpleView/pointnet2_pyt/build/temp.linux-x86_64-cpython-310/pointnet2/_ext-src/src/ball_query.o -O2 -Ipointnet2/_ext-src/include -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1016"' -DTORCH_EXTENSION_NAME=_ext -D_GLIBCXX_USE_CXX11_ABI=1 -std=c++14
FAILED: ....../SimpleView/pointnet2_pyt/build/temp.linux-x86_64-cpython-310/pointnet2/_ext-src/src/ball_query.o 
c++ -MMD -MF ....../SimpleView/pointnet2_pyt/build/temp.linux-x86_64-cpython-310/pointnet2/_ext-src/src/ball_query.o.d -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I~/.local/lib/python3.10/site-packages/torch/include -I~/.local/lib/python3.10/site-packages/torch/include/torch/csrc/api/include -I~/.local/lib/python3.10/site-packages/torch/include/TH -I~/.local/lib/python3.10/site-packages/torch/include/THC -I/usr/local/cuda/include -I/usr/include/python3.10 -c -c ....../SimpleView/pointnet2_pyt/pointnet2/_ext-src/src/ball_query.cpp -o ....../SimpleView/pointnet2_pyt/build/temp.linux-x86_64-cpython-310/pointnet2/_ext-src/src/ball_query.o -O2 -Ipointnet2/_ext-src/include -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1016"' -DTORCH_EXTENSION_NAME=_ext -D_GLIBCXX_USE_CXX11_ABI=1 -std=c++14
....../SimpleView/pointnet2_pyt/pointnet2/_ext-src/src/ball_query.cpp:1:10: fatal error: ball_query.h: No such file or directory
    1 | #include "ball_query.h"
      |          ^~~~~~~~~~~~~~
compilation terminated.
[2/9] c++ -MMD -MF ....../SimpleView/pointnet2_pyt/build/temp.linux-x86_64-cpython-310/pointnet2/_ext-src/src/interpolate.o.d -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I~/.local/lib/python3.10/site-packages/torch/include -I~/.local/lib/python3.10/site-packages/torch/include/torch/csrc/api/include -I~/.local/lib/python3.10/site-packages/torch/include/TH -I~/.local/lib/python3.10/site-packages/torch/include/THC -I/usr/local/cuda/include -I/usr/include/python3.10 -c -c ....../SimpleView/pointnet2_pyt/pointnet2/_ext-src/src/interpolate.cpp -o ....../SimpleView/pointnet2_pyt/build/temp.linux-x86_64-cpython-310/pointnet2/_ext-src/src/interpolate.o -O2 -Ipointnet2/_ext-src/include -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1016"' -DTORCH_EXTENSION_NAME=_ext -D_GLIBCXX_USE_CXX11_ABI=1 -std=c++14
FAILED: ....../SimpleView/pointnet2_pyt/build/temp.linux-x86_64-cpython-310/pointnet2/_ext-src/src/interpolate.o 
c++ -MMD -MF ....../SimpleView/pointnet2_pyt/build/temp.linux-x86_64-cpython-310/pointnet2/_ext-src/src/interpolate.o.d -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I~/.local/lib/python3.10/site-packages/torch/include -I~/.local/lib/python3.10/site-packages/torch/include/torch/csrc/api/include -I~/.local/lib/python3.10/site-packages/torch/include/TH -I~/.local/lib/python3.10/site-packages/torch/include/THC -I/usr/local/cuda/include -I/usr/include/python3.10 -c -c ....../SimpleView/pointnet2_pyt/pointnet2/_ext-src/src/interpolate.cpp -o ....../SimpleView/pointnet2_pyt/build/temp.linux-x86_64-cpython-310/pointnet2/_ext-src/src/interpolate.o -O2 -Ipointnet2/_ext-src/include -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1016"' -DTORCH_EXTENSION_NAME=_ext -D_GLIBCXX_USE_CXX11_ABI=1 -std=c++14
....../SimpleView/pointnet2_pyt/pointnet2/_ext-src/src/interpolate.cpp:1:10: fatal error: interpolate.h: No such file or directory
    1 | #include "interpolate.h"
      |          ^~~~~~~~~~~~~~~
compilation terminated.
[3/9] c++ -MMD -MF ....../SimpleView/pointnet2_pyt/build/temp.linux-x86_64-cpython-310/pointnet2/_ext-src/src/bindings.o.d -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I~/.local/lib/python3.10/site-packages/torch/include -I~/.local/lib/python3.10/site-packages/torch/include/torch/csrc/api/include -I~/.local/lib/python3.10/site-packages/torch/include/TH -I~/.local/lib/python3.10/site-packages/torch/include/THC -I/usr/local/cuda/include -I/usr/include/python3.10 -c -c ....../SimpleView/pointnet2_pyt/pointnet2/_ext-src/src/bindings.cpp -o ....../SimpleView/pointnet2_pyt/build/temp.linux-x86_64-cpython-310/pointnet2/_ext-src/src/bindings.o -O2 -Ipointnet2/_ext-src/include -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1016"' -DTORCH_EXTENSION_NAME=_ext -D_GLIBCXX_USE_CXX11_ABI=1 -std=c++14
FAILED: ....../SimpleView/pointnet2_pyt/build/temp.linux-x86_64-cpython-310/pointnet2/_ext-src/src/bindings.o 
c++ -MMD -MF ....../SimpleView/pointnet2_pyt/build/temp.linux-x86_64-cpython-310/pointnet2/_ext-src/src/bindings.o.d -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I~/.local/lib/python3.10/site-packages/torch/include -I~/.local/lib/python3.10/site-packages/torch/include/torch/csrc/api/include -I~/.local/lib/python3.10/site-packages/torch/include/TH -I~/.local/lib/python3.10/site-packages/torch/include/THC -I/usr/local/cuda/include -I/usr/include/python3.10 -c -c ....../SimpleView/pointnet2_pyt/pointnet2/_ext-src/src/bindings.cpp -o ....../SimpleView/pointnet2_pyt/build/temp.linux-x86_64-cpython-310/pointnet2/_ext-src/src/bindings.o -O2 -Ipointnet2/_ext-src/include -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1016"' -DTORCH_EXTENSION_NAME=_ext -D_GLIBCXX_USE_CXX11_ABI=1 -std=c++14
....../SimpleView/pointnet2_pyt/pointnet2/_ext-src/src/bindings.cpp:1:10: fatal error: ball_query.h: No such file or directory
    1 | #include "ball_query.h"
      |          ^~~~~~~~~~~~~~
compilation terminated.
[4/9] c++ -MMD -MF ....../SimpleView/pointnet2_pyt/build/temp.linux-x86_64-cpython-310/pointnet2/_ext-src/src/group_points.o.d -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I~/.local/lib/python3.10/site-packages/torch/include -I~/.local/lib/python3.10/site-packages/torch/include/torch/csrc/api/include -I~/.local/lib/python3.10/site-packages/torch/include/TH -I~/.local/lib/python3.10/site-packages/torch/include/THC -I/usr/local/cuda/include -I/usr/include/python3.10 -c -c ....../SimpleView/pointnet2_pyt/pointnet2/_ext-src/src/group_points.cpp -o ....../SimpleView/pointnet2_pyt/build/temp.linux-x86_64-cpython-310/pointnet2/_ext-src/src/group_points.o -O2 -Ipointnet2/_ext-src/include -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1016"' -DTORCH_EXTENSION_NAME=_ext -D_GLIBCXX_USE_CXX11_ABI=1 -std=c++14
FAILED: ....../SimpleView/pointnet2_pyt/build/temp.linux-x86_64-cpython-310/pointnet2/_ext-src/src/group_points.o 
c++ -MMD -MF ....../SimpleView/pointnet2_pyt/build/temp.linux-x86_64-cpython-310/pointnet2/_ext-src/src/group_points.o.d -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I~/.local/lib/python3.10/site-packages/torch/include -I~/.local/lib/python3.10/site-packages/torch/include/torch/csrc/api/include -I~/.local/lib/python3.10/site-packages/torch/include/TH -I~/.local/lib/python3.10/site-packages/torch/include/THC -I/usr/local/cuda/include -I/usr/include/python3.10 -c -c ....../SimpleView/pointnet2_pyt/pointnet2/_ext-src/src/group_points.cpp -o ....../SimpleView/pointnet2_pyt/build/temp.linux-x86_64-cpython-310/pointnet2/_ext-src/src/group_points.o -O2 -Ipointnet2/_ext-src/include -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1016"' -DTORCH_EXTENSION_NAME=_ext -D_GLIBCXX_USE_CXX11_ABI=1 -std=c++14
....../SimpleView/pointnet2_pyt/pointnet2/_ext-src/src/group_points.cpp:1:10: fatal error: group_points.h: No such file or directory
    1 | #include "group_points.h"
      |          ^~~~~~~~~~~~~~~~
compilation terminated.
[5/9] c++ -MMD -MF ....../SimpleView/pointnet2_pyt/build/temp.linux-x86_64-cpython-310/pointnet2/_ext-src/src/sampling.o.d -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I~/.local/lib/python3.10/site-packages/torch/include -I~/.local/lib/python3.10/site-packages/torch/include/torch/csrc/api/include -I~/.local/lib/python3.10/site-packages/torch/include/TH -I~/.local/lib/python3.10/site-packages/torch/include/THC -I/usr/local/cuda/include -I/usr/include/python3.10 -c -c ....../SimpleView/pointnet2_pyt/pointnet2/_ext-src/src/sampling.cpp -o ....../SimpleView/pointnet2_pyt/build/temp.linux-x86_64-cpython-310/pointnet2/_ext-src/src/sampling.o -O2 -Ipointnet2/_ext-src/include -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1016"' -DTORCH_EXTENSION_NAME=_ext -D_GLIBCXX_USE_CXX11_ABI=1 -std=c++14
FAILED: ....../SimpleView/pointnet2_pyt/build/temp.linux-x86_64-cpython-310/pointnet2/_ext-src/src/sampling.o 
c++ -MMD -MF ....../SimpleView/pointnet2_pyt/build/temp.linux-x86_64-cpython-310/pointnet2/_ext-src/src/sampling.o.d -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I~/.local/lib/python3.10/site-packages/torch/include -I~/.local/lib/python3.10/site-packages/torch/include/torch/csrc/api/include -I~/.local/lib/python3.10/site-packages/torch/include/TH -I~/.local/lib/python3.10/site-packages/torch/include/THC -I/usr/local/cuda/include -I/usr/include/python3.10 -c -c ....../SimpleView/pointnet2_pyt/pointnet2/_ext-src/src/sampling.cpp -o ....../SimpleView/pointnet2_pyt/build/temp.linux-x86_64-cpython-310/pointnet2/_ext-src/src/sampling.o -O2 -Ipointnet2/_ext-src/include -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1016"' -DTORCH_EXTENSION_NAME=_ext -D_GLIBCXX_USE_CXX11_ABI=1 -std=c++14
....../SimpleView/pointnet2_pyt/pointnet2/_ext-src/src/sampling.cpp:1:10: fatal error: sampling.h: No such file or directory
    1 | #include "sampling.h"
      |          ^~~~~~~~~~~~
compilation terminated.
[6/9] /usr/local/cuda/bin/nvcc  -I~/.local/lib/python3.10/site-packages/torch/include -I~/.local/lib/python3.10/site-packages/torch/include/torch/csrc/api/include -I~/.local/lib/python3.10/site-packages/torch/include/TH -I~/.local/lib/python3.10/site-packages/torch/include/THC -I/usr/local/cuda/include -I/usr/include/python3.10 -c -c ....../SimpleView/pointnet2_pyt/pointnet2/_ext-src/src/sampling_gpu.cu -o ....../SimpleView/pointnet2_pyt/build/temp.linux-x86_64-cpython-310/pointnet2/_ext-src/src/sampling_gpu.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O2 -Ipointnet2/_ext-src/include -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1016"' -DTORCH_EXTENSION_NAME=_ext -D_GLIBCXX_USE_CXX11_ABI=1 -gencode=arch=compute_75,code=sm_75 -std=c++14
FAILED: ....../SimpleView/pointnet2_pyt/build/temp.linux-x86_64-cpython-310/pointnet2/_ext-src/src/sampling_gpu.o 
/usr/local/cuda/bin/nvcc  -I~/.local/lib/python3.10/site-packages/torch/include -I~/.local/lib/python3.10/site-packages/torch/include/torch/csrc/api/include -I~/.local/lib/python3.10/site-packages/torch/include/TH -I~/.local/lib/python3.10/site-packages/torch/include/THC -I/usr/local/cuda/include -I/usr/include/python3.10 -c -c ....../SimpleView/pointnet2_pyt/pointnet2/_ext-src/src/sampling_gpu.cu -o ....../SimpleView/pointnet2_pyt/build/temp.linux-x86_64-cpython-310/pointnet2/_ext-src/src/sampling_gpu.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O2 -Ipointnet2/_ext-src/include -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1016"' -DTORCH_EXTENSION_NAME=_ext -D_GLIBCXX_USE_CXX11_ABI=1 -gencode=arch=compute_75,code=sm_75 -std=c++14
....../SimpleView/pointnet2_pyt/pointnet2/_ext-src/src/sampling_gpu.cu:4:10: fatal error: cuda_utils.h: No such file or directory
    4 | #include "cuda_utils.h"
      |          ^~~~~~~~~~~~~~
compilation terminated.
[7/9] /usr/local/cuda/bin/nvcc  -I~/.local/lib/python3.10/site-packages/torch/include -I~/.local/lib/python3.10/site-packages/torch/include/torch/csrc/api/include -I~/.local/lib/python3.10/site-packages/torch/include/TH -I~/.local/lib/python3.10/site-packages/torch/include/THC -I/usr/local/cuda/include -I/usr/include/python3.10 -c -c ....../SimpleView/pointnet2_pyt/pointnet2/_ext-src/src/group_points_gpu.cu -o ....../SimpleView/pointnet2_pyt/build/temp.linux-x86_64-cpython-310/pointnet2/_ext-src/src/group_points_gpu.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O2 -Ipointnet2/_ext-src/include -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1016"' -DTORCH_EXTENSION_NAME=_ext -D_GLIBCXX_USE_CXX11_ABI=1 -gencode=arch=compute_75,code=sm_75 -std=c++14
FAILED: ....../SimpleView/pointnet2_pyt/build/temp.linux-x86_64-cpython-310/pointnet2/_ext-src/src/group_points_gpu.o 
/usr/local/cuda/bin/nvcc  -I~/.local/lib/python3.10/site-packages/torch/include -I~/.local/lib/python3.10/site-packages/torch/include/torch/csrc/api/include -I~/.local/lib/python3.10/site-packages/torch/include/TH -I~/.local/lib/python3.10/site-packages/torch/include/THC -I/usr/local/cuda/include -I/usr/include/python3.10 -c -c ....../SimpleView/pointnet2_pyt/pointnet2/_ext-src/src/group_points_gpu.cu -o ....../SimpleView/pointnet2_pyt/build/temp.linux-x86_64-cpython-310/pointnet2/_ext-src/src/group_points_gpu.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O2 -Ipointnet2/_ext-src/include -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1016"' -DTORCH_EXTENSION_NAME=_ext -D_GLIBCXX_USE_CXX11_ABI=1 -gencode=arch=compute_75,code=sm_75 -std=c++14
....../SimpleView/pointnet2_pyt/pointnet2/_ext-src/src/group_points_gpu.cu:4:10: fatal error: cuda_utils.h: No such file or directory
    4 | #include "cuda_utils.h"
      |          ^~~~~~~~~~~~~~
compilation terminated.
[8/9] /usr/local/cuda/bin/nvcc  -I~/.local/lib/python3.10/site-packages/torch/include -I~/.local/lib/python3.10/site-packages/torch/include/torch/csrc/api/include -I~/.local/lib/python3.10/site-packages/torch/include/TH -I~/.local/lib/python3.10/site-packages/torch/include/THC -I/usr/local/cuda/include -I/usr/include/python3.10 -c -c ....../SimpleView/pointnet2_pyt/pointnet2/_ext-src/src/interpolate_gpu.cu -o ....../SimpleView/pointnet2_pyt/build/temp.linux-x86_64-cpython-310/pointnet2/_ext-src/src/interpolate_gpu.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O2 -Ipointnet2/_ext-src/include -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1016"' -DTORCH_EXTENSION_NAME=_ext -D_GLIBCXX_USE_CXX11_ABI=1 -gencode=arch=compute_75,code=sm_75 -std=c++14
FAILED: ....../SimpleView/pointnet2_pyt/build/temp.linux-x86_64-cpython-310/pointnet2/_ext-src/src/interpolate_gpu.o 
/usr/local/cuda/bin/nvcc  -I~/.local/lib/python3.10/site-packages/torch/include -I~/.local/lib/python3.10/site-packages/torch/include/torch/csrc/api/include -I~/.local/lib/python3.10/site-packages/torch/include/TH -I~/.local/lib/python3.10/site-packages/torch/include/THC -I/usr/local/cuda/include -I/usr/include/python3.10 -c -c ....../SimpleView/pointnet2_pyt/pointnet2/_ext-src/src/interpolate_gpu.cu -o ....../SimpleView/pointnet2_pyt/build/temp.linux-x86_64-cpython-310/pointnet2/_ext-src/src/interpolate_gpu.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O2 -Ipointnet2/_ext-src/include -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1016"' -DTORCH_EXTENSION_NAME=_ext -D_GLIBCXX_USE_CXX11_ABI=1 -gencode=arch=compute_75,code=sm_75 -std=c++14
....../SimpleView/pointnet2_pyt/pointnet2/_ext-src/src/interpolate_gpu.cu:5:10: fatal error: cuda_utils.h: No such file or directory
    5 | #include "cuda_utils.h"
      |          ^~~~~~~~~~~~~~
compilation terminated.
[9/9] /usr/local/cuda/bin/nvcc  -I~/.local/lib/python3.10/site-packages/torch/include -I~/.local/lib/python3.10/site-packages/torch/include/torch/csrc/api/include -I~/.local/lib/python3.10/site-packages/torch/include/TH -I~/.local/lib/python3.10/site-packages/torch/include/THC -I/usr/local/cuda/include -I/usr/include/python3.10 -c -c ....../SimpleView/pointnet2_pyt/pointnet2/_ext-src/src/ball_query_gpu.cu -o ....../SimpleView/pointnet2_pyt/build/temp.linux-x86_64-cpython-310/pointnet2/_ext-src/src/ball_query_gpu.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O2 -Ipointnet2/_ext-src/include -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1016"' -DTORCH_EXTENSION_NAME=_ext -D_GLIBCXX_USE_CXX11_ABI=1 -gencode=arch=compute_75,code=sm_75 -std=c++14
FAILED: ....../SimpleView/pointnet2_pyt/build/temp.linux-x86_64-cpython-310/pointnet2/_ext-src/src/ball_query_gpu.o 
/usr/local/cuda/bin/nvcc  -I~/.local/lib/python3.10/site-packages/torch/include -I~/.local/lib/python3.10/site-packages/torch/include/torch/csrc/api/include -I~/.local/lib/python3.10/site-packages/torch/include/TH -I~/.local/lib/python3.10/site-packages/torch/include/THC -I/usr/local/cuda/include -I/usr/include/python3.10 -c -c ....../SimpleView/pointnet2_pyt/pointnet2/_ext-src/src/ball_query_gpu.cu -o ....../SimpleView/pointnet2_pyt/build/temp.linux-x86_64-cpython-310/pointnet2/_ext-src/src/ball_query_gpu.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O2 -Ipointnet2/_ext-src/include -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1016"' -DTORCH_EXTENSION_NAME=_ext -D_GLIBCXX_USE_CXX11_ABI=1 -gencode=arch=compute_75,code=sm_75 -std=c++14
....../SimpleView/pointnet2_pyt/pointnet2/_ext-src/src/ball_query_gpu.cu:5:10: fatal error: cuda_utils.h: No such file or directory
    5 | #include "cuda_utils.h"
      |          ^~~~~~~~~~~~~~
compilation terminated.
ninja: build stopped: subcommand failed.
Traceback (most recent call last):
  File "~/.local/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 1865, in _run_ninja_build
    subprocess.run(
  File "/usr/lib/python3.10/subprocess.py", line 524, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "....../SimpleView/pointnet2_pyt/setup.py", line 22, in <module>
    setup(
  File "~/.local/lib/python3.10/site-packages/setuptools/__init__.py", line 87, in setup
    return distutils.core.setup(**attrs)
  File "~/.local/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 177, in setup
    return run_commands(dist)
  File "~/.local/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 193, in run_commands
    dist.run_commands()
  File "~/.local/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 968, in run_commands
    self.run_command(cmd)
  File "~/.local/lib/python3.10/site-packages/setuptools/dist.py", line 1229, in run_command
    super().run_command(command)
  File "~/.local/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 987, in run_command
    cmd_obj.run()
  File "~/.local/lib/python3.10/site-packages/wheel/bdist_wheel.py", line 299, in run
    self.run_command('build')
  File "~/.local/lib/python3.10/site-packages/setuptools/_distutils/cmd.py", line 317, in run_command
    self.distribution.run_command(command)
  File "~/.local/lib/python3.10/site-packages/setuptools/dist.py", line 1229, in run_command
    super().run_command(command)
  File "~/.local/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 987, in run_command
    cmd_obj.run()
  File "~/.local/lib/python3.10/site-packages/setuptools/command/build.py", line 24, in run
    super().run()
  File "~/.local/lib/python3.10/site-packages/setuptools/_distutils/command/build.py", line 131, in run
    self.run_command(cmd_name)
  File "~/.local/lib/python3.10/site-packages/setuptools/_distutils/cmd.py", line 317, in run_command
    self.distribution.run_command(command)
  File "~/.local/lib/python3.10/site-packages/setuptools/dist.py", line 1229, in run_command
    super().run_command(command)
  File "~/.local/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 987, in run_command
    cmd_obj.run()
  File "~/.local/lib/python3.10/site-packages/setuptools/command/build_ext.py", line 79, in run
    _build_ext.run(self)
  File "~/.local/lib/python3.10/site-packages/Cython/Distutils/old_build_ext.py", line 186, in run
    _build_ext.build_ext.run(self)
  File "~/.local/lib/python3.10/site-packages/setuptools/_distutils/command/build_ext.py", line 339, in run
    self.build_extensions()
  File "~/.local/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 778, in build_extensions
    build_ext.build_extensions(self)
  File "~/.local/lib/python3.10/site-packages/Cython/Distutils/old_build_ext.py", line 195, in build_extensions
    _build_ext.build_ext.build_extensions(self)
  File "~/.local/lib/python3.10/site-packages/setuptools/_distutils/command/build_ext.py", line 459, in build_extensions
    self._build_extensions_serial()
  File "~/.local/lib/python3.10/site-packages/setuptools/_distutils/command/build_ext.py", line 485, in _build_extensions_serial
    self.build_extension(ext)
  File "~/.local/lib/python3.10/site-packages/setuptools/command/build_ext.py", line 202, in build_extension
    _build_ext.build_extension(self, ext)
  File "~/.local/lib/python3.10/site-packages/setuptools/_distutils/command/build_ext.py", line 540, in build_extension
    objects = self.compiler.compile(
  File "~/.local/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 593, in unix_wrap_ninja_compile
    _write_ninja_file_and_compile_objects(
  File "~/.local/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 1544, in _write_ninja_file_and_compile_objects
    _run_ninja_build(
  File "~/.local/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 1881, in _run_ninja_build
    raise RuntimeError(message) from e
RuntimeError: Error compiling objects for extensionpointnet2_pyt git:(master) ✗ 

After I modified to an absolute directory in setup.py,
_ext_src_root = "...../SimpleView/pointnet2_pyt/pointnet2/_ext-src"

I then failed building it as:

[9/9] c++ -MMD -MF ....../SimpleView/pointnet2_pyt/build/temp.linux-x86_64-cpython-310....../SimpleView/pointnet2_pyt/pointnet2/_ext-src/src/bindings.o.d -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I~/.local/lib/python3.10/site-packages/torch/include -I~/.local/lib/python3.10/site-packages/torch/include/torch/csrc/api/include -I~/.local/lib/python3.10/site-packages/torch/include/TH -I~/.local/lib/python3.10/site-packages/torch/include/THC -I/usr/local/cuda/include -I/usr/include/python3.10 -c -c ....../SimpleView/pointnet2_pyt/pointnet2/_ext-src/src/bindings.cpp -o ....../SimpleView/pointnet2_pyt/build/temp.linux-x86_64-cpython-310....../SimpleView/pointnet2_pyt/pointnet2/_ext-src/src/bindings.o -O2 -I....../SimpleView/pointnet2_pyt/pointnet2/_ext-src/include -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1016"' -DTORCH_EXTENSION_NAME=_ext -D_GLIBCXX_USE_CXX11_ABI=1 -std=c++14
ninja: build stopped: subcommand failed.
Traceback (most recent call last):
  File "~/.local/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 1865, in _run_ninja_build
    subprocess.run(
  File "/usr/lib/python3.10/subprocess.py", line 524, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "....../SimpleView/pointnet2_pyt/setup.py", line 22, in <module>
    setup(
  File "~/.local/lib/python3.10/site-packages/setuptools/__init__.py", line 87, in setup
    return distutils.core.setup(**attrs)
  File "~/.local/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 177, in setup
    return run_commands(dist)
  File "~/.local/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 193, in run_commands
    dist.run_commands()
  File "~/.local/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 968, in run_commands
    self.run_command(cmd)
  File "~/.local/lib/python3.10/site-packages/setuptools/dist.py", line 1229, in run_command
    super().run_command(command)
  File "~/.local/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 987, in run_command
    cmd_obj.run()
  File "~/.local/lib/python3.10/site-packages/wheel/bdist_wheel.py", line 299, in run
    self.run_command('build')
  File "~/.local/lib/python3.10/site-packages/setuptools/_distutils/cmd.py", line 317, in run_command
    self.distribution.run_command(command)
  File "~/.local/lib/python3.10/site-packages/setuptools/dist.py", line 1229, in run_command
    super().run_command(command)
  File "~/.local/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 987, in run_command
    cmd_obj.run()
  File "~/.local/lib/python3.10/site-packages/setuptools/command/build.py", line 24, in run
    super().run()
  File "~/.local/lib/python3.10/site-packages/setuptools/_distutils/command/build.py", line 131, in run
    self.run_command(cmd_name)
  File "~/.local/lib/python3.10/site-packages/setuptools/_distutils/cmd.py", line 317, in run_command
    self.distribution.run_command(command)
  File "~/.local/lib/python3.10/site-packages/setuptools/dist.py", line 1229, in run_command
    super().run_command(command)
  File "~/.local/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 987, in run_command
    cmd_obj.run()
  File "~/.local/lib/python3.10/site-packages/setuptools/command/build_ext.py", line 79, in run
    _build_ext.run(self)
  File "~/.local/lib/python3.10/site-packages/Cython/Distutils/old_build_ext.py", line 186, in run
    _build_ext.build_ext.run(self)
  File "~/.local/lib/python3.10/site-packages/setuptools/_distutils/command/build_ext.py", line 339, in run
    self.build_extensions()
  File "~/.local/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 778, in build_extensions
    build_ext.build_extensions(self)
  File "~/.local/lib/python3.10/site-packages/Cython/Distutils/old_build_ext.py", line 195, in build_extensions
    _build_ext.build_ext.build_extensions(self)
  File "~/.local/lib/python3.10/site-packages/setuptools/_distutils/command/build_ext.py", line 459, in build_extensions
    self._build_extensions_serial()
  File "~/.local/lib/python3.10/site-packages/setuptools/_distutils/command/build_ext.py", line 485, in _build_extensions_serial
    self.build_extension(ext)
  File "~/.local/lib/python3.10/site-packages/setuptools/command/build_ext.py", line 202, in build_extension
    _build_ext.build_extension(self, ext)
  File "~/.local/lib/python3.10/site-packages/setuptools/_distutils/command/build_ext.py", line 540, in build_extension
    objects = self.compiler.compile(
  File "~/.local/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 593, in unix_wrap_ninja_compile
    _write_ninja_file_and_compile_objects(
  File "~/.local/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 1544, in _write_ninja_file_and_compile_objects
    _run_ninja_build(
  File "~/.local/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 1881, in _run_ninja_build
    raise RuntimeError(message) from e
RuntimeError: Error compiling objects for extensionpointnet2_pyt git:(master) ✗ 

So, any suggestions???

On classification result

Congrats on the paper. Your work is very insightful.

I have downloaded the code and trained the classification with config file dgcnn_{model_name}_run_1.yaml.

I test the model performance using 'best test model selection' protocol. During test pointnet++ gets 92.95% classification accuracy, pointnet gets 88.04%, simpeview gets 92.54%.
However, in paper Table 3, using DGCNN protocol with smoothed cross-entropy loss, I believe pointnet++ should get 93.1%, pointnet 90.5%, and for simpeview is 93.6%.
I would like to ask how to achieve the reported performance reliably? Do I need to run multiple times with different random seeds and do some extra processing?

Thanks in advance.

code for cross-dataset training

Hi Team,

Can you please post commands/scripts used for cross-dataset training?
To reproduce Table 5 results (col 3 and col 4).

Thanks in advance.

fine tune on validation set

Hi Team,

Can you please explain how is below fine-tuning is applicable in the case of ModelNet40?
Aren't the validation and test set are same?

As discussed in the paper for the PointNet++ and SimpleView protocols, we need to first run an experiment to tune the number of epochs on the validation set. This could be done by first running the experiment <pointnet2/dgcnn><model_name>valid_run.yaml and then running the experiment <pointnet2/dgcnn><model_name>run.yaml. Based on the number of epochs achieving the best performance on the validation set, one could use the model trained on the complete training set to get the final test performance.

Thanks

url

WARNING: Discarding git+git://github.com/imankgoyal/[email protected]#egg=etw_pytorch_utils. Command errored out with exit status 128: git clone -q git://github.com/imankgoyal/etw_pytorch_utils.git /tmp/pip-install-y2vqf7n5/etw-pytorch-utils_17ca6d47cd4648a0bd35c90eb7c5a34d Check the logs for full command output.
ERROR: Could not find a version that satisfies the requirement etw-pytorch-utils (unavailable) (from versions: none)
ERROR: No matching distribution found for etw-pytorch-utils (unavailable)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.