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

Overview

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.

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
Comments
  • Error on training on scanobjectNN dataset

    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)) ‘’‘

    opened by libeike 9
  • A question about '_ext.pointnet2._pointnet2'

    A question about '_ext.pointnet2._pointnet2'

    I reported this error in pointnet2_pyt when I ran the code. How should I solve it? Also, the git link to the requirement.txt of pointnet2_pyt is dead.

    opened by liuhui0401 6
  • Multi-GPU Support

    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?

    opened by sheshap 4
  • fine tune on validation set

    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

    opened by sheshap 2
  • Adding value to points

    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.

    opened by dnhkng 2
  • Cannot work with pytorch 1.4.0 and cuda 10.0

    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

    opened by alhamidi 2
  • Visualizing SimpleView

    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.

    opened by sheshap 1
  • On classification result

    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.

    opened by OolongQian 1
  • fatal error: ball_query.h: No such file or directory

    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 extension
    ➜  pointnet2_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 extension
    ➜  pointnet2_pyt git:(master) ✗ 
    
    

    So, any suggestions???

    opened by jiapei100 1
Owner
Princeton Vision & Learning Lab
Princeton Vision & Learning Lab
Code for the ICML 2021 paper: "ViLT: Vision-and-Language Transformer Without Convolution or Region Supervision"

ViLT Code for the paper: "ViLT: Vision-and-Language Transformer Without Convolution or Region Supervision" Install pip install -r requirements.txt pip

Wonjae Kim 922 Jan 1, 2023
Code for the ICML 2021 paper: "ViLT: Vision-and-Language Transformer Without Convolution or Region Supervision"

ViLT Code for the paper: "ViLT: Vision-and-Language Transformer Without Convolution or Region Supervision" Install pip install -r requirements.txt pip

Wonjae Kim 922 Jan 1, 2023
Code for ICML 2021 paper: How could Neural Networks understand Programs?

OSCAR This repository contains the source code of our ICML 2021 paper How could Neural Networks understand Programs?. Environment Run following comman

Dinglan Peng 115 Dec 17, 2022
Code for Fold2Seq paper from ICML 2021

[ICML2021] Fold2Seq: A Joint Sequence(1D)-Fold(3D) Embedding-based Generative Model for Protein Design Environment file: environment.yml Data and Feat

International Business Machines 43 Dec 4, 2022
Code for the ICML 2021 paper "Bridging Multi-Task Learning and Meta-Learning: Towards Efficient Training and Effective Adaptation", Haoxiang Wang, Han Zhao, Bo Li.

Bridging Multi-Task Learning and Meta-Learning Code for the ICML 2021 paper "Bridging Multi-Task Learning and Meta-Learning: Towards Efficient Trainin

AI Secure 57 Dec 15, 2022
Code release for the ICML 2021 paper "PixelTransformer: Sample Conditioned Signal Generation".

PixelTransformer Code release for the ICML 2021 paper "PixelTransformer: Sample Conditioned Signal Generation". Project Page Installation Please insta

Shubham Tulsiani 24 Dec 17, 2022
Official implementation of "SinIR: Efficient General Image Manipulation with Single Image Reconstruction" (ICML 2021)

SinIR (Official Implementation) Requirements To install requirements: pip install -r requirements.txt We used Python 3.7.4 and f-strings which are in

null 47 Oct 11, 2022
TensorFlow code for the neural network presented in the paper: "Structural Language Models of Code" (ICML'2020)

SLM: Structural Language Models of Code This is an official implementation of the model described in: "Structural Language Models of Code" [PDF] To ap

null 73 Nov 6, 2022
An interpreter for RASP as described in the ICML 2021 paper "Thinking Like Transformers"

RASP Setup Mac or Linux Run ./setup.sh . It will create a python3 virtual environment and install the dependencies for RASP. It will also try to insta

null 141 Jan 3, 2023
Code release for "Self-Tuning for Data-Efficient Deep Learning" (ICML 2021)

Self-Tuning for Data-Efficient Deep Learning This repository contains the implementation code for paper: Self-Tuning for Data-Efficient Deep Learning

THUML @ Tsinghua University 101 Dec 11, 2022
Code for the paper "Adversarially Regularized Autoencoders (ICML 2018)" by Zhao, Kim, Zhang, Rush and LeCun

ARAE Code for the paper "Adversarially Regularized Autoencoders (ICML 2018)" by Zhao, Kim, Zhang, Rush and LeCun https://arxiv.org/abs/1706.04223 Disc

Junbo (Jake) Zhao 399 Jan 2, 2023
Code for paper "Which Training Methods for GANs do actually Converge? (ICML 2018)"

GAN stability This repository contains the experiments in the supplementary material for the paper Which Training Methods for GANs do actually Converg

Lars Mescheder 885 Jan 1, 2023
[ICML 2021, Long Talk] Delving into Deep Imbalanced Regression

Delving into Deep Imbalanced Regression This repository contains the implementation code for paper: Delving into Deep Imbalanced Regression Yuzhe Yang

Yuzhe Yang 568 Dec 30, 2022
[ICML 2021] DouZero: Mastering DouDizhu with Self-Play Deep Reinforcement Learning | 斗地主AI

[ICML 2021] DouZero: Mastering DouDizhu with Self-Play Deep Reinforcement Learning DouZero is a reinforcement learning framework for DouDizhu (斗地主), t

Kwai Inc. 3.1k Jan 4, 2023
[ICML 2021] “ Self-Damaging Contrastive Learning”, Ziyu Jiang, Tianlong Chen, Bobak Mortazavi, Zhangyang Wang

Self-Damaging Contrastive Learning Introduction The recent breakthrough achieved by contrastive learning accelerates the pace for deploying unsupervis

VITA 51 Dec 29, 2022
[ICML 2021] "Graph Contrastive Learning Automated" by Yuning You, Tianlong Chen, Yang Shen, Zhangyang Wang

Graph Contrastive Learning Automated PyTorch implementation for Graph Contrastive Learning Automated [talk] [poster] [appendix] Yuning You, Tianlong C

Shen Lab at Texas A&M University 80 Nov 23, 2022
How Do Adam and Training Strategies Help BNNs Optimization? In ICML 2021.

AdamBNN This is the pytorch implementation of our paper "How Do Adam and Training Strategies Help BNNs Optimization?", published in ICML 2021. In this

Zechun Liu 47 Sep 20, 2022
[ICML 2021] Break-It-Fix-It: Learning to Repair Programs from Unlabeled Data

Break-It-Fix-It: Learning to Repair Programs from Unlabeled Data This repo provides the source code & data of our paper: Break-It-Fix-It: Unsupervised

Michihiro Yasunaga 86 Nov 30, 2022
Implementation of Learning Gradient Fields for Molecular Conformation Generation (ICML 2021).

[PDF] | [Slides] The official implementation of Learning Gradient Fields for Molecular Conformation Generation (ICML 2021 Long talk) Installation Inst

MilaGraph 117 Dec 9, 2022