Giter Club home page Giter Club logo

spinnet's Introduction

PWC License CC BY-NC-SA 4.0 arXiv

SpinNet: Learning a General Surface Descriptor for 3D Point Cloud Registration (CVPR 2021)

This is the official repository of SpinNet, a conceptually simple neural architecture to extract local features which are rotationally invariant whilst sufficiently informative to enable accurate registration. For technical details, please refer to:

SpinNet: Learning a General Surface Descriptor for 3D Point Cloud Registration
Sheng Ao*, Qingyong Hu*, Bo Yang, Andrew Markham, Yulan Guo.
(* indicates equal contribution)

[Paper] [Video] [Project page]

(1) Overview

(2) Setup

This code has been tested with Python 3.6, Pytorch 1.6.0, CUDA 10.2 on Ubuntu 18.04.

  • Clone the repository
git clone https://github.com/QingyongHu/SpinNet && cd SpinNet
  • Setup conda virtual environment
conda create -n spinnet python=3.6
source activate spinnet
conda install pytorch==1.6.0 torchvision==0.7.0 cudatoolkit=10.2 -c pytorch
conda install -c open3d-admin open3d==0.11.1
pip install "git+git://github.com/erikwijmans/Pointnet2_PyTorch.git#egg=pointnet2_ops&subdirectory=pointnet2_ops_lib"

(3) 3DMatch

Download the processed dataset from Google Drive, Baidu Yun (Verification code:d1vn) and put the folder into data. Then the structure should be as follows:

--data--3DMatch--fragments
              |--intermediate-files-real
              |--patches

Training

Training SpinNet on the 3DMatch dataset:

cd ./ThreeDMatch/Train
python train.py

Testing

Evaluate the performance of the trained models on the 3DMatch dataset:

cd ./ThreeDMatch/Test
python preparation.py

The learned descriptors for each point will be saved in ThreeDMatch/Test/SpinNet_{timestr}/ folder. Then the Feature Matching Recall(FMR) and Inlier Ratio(IR) can be calculated by running:

python evaluate.py [timestr]

The ground truth poses have been put in the ThreeDMatch/Test/gt_result folder. The Registration Recall can be calculated by running the evaluate.m in ThreeDMatch/Test/3dmatch which are provided by 3DMatch. Note that, you need to modify the descriptorName to SpinNet_{timestr} in the ThreeDMatch/Test/3dmatch/evaluate.m file.

(4) KITTI

Download the processed dataset from Google Drive, Baidu Yun (Verification code:d1vn), and put the folder into data. Then the structure is as follows:

--data--KITTI--dataset
            |--icp
            |--patches

Training

Training SpinNet on the KITTI dataset:

cd ./KITTI/Train/
python train.py

Testing

Evaluate the performance of the trained models on the KITTI dataset:

cd ./KITTI/Test/
python test_kitti.py

(5) ETH

The test set can be downloaded from here, and put the folder into data, then the structure is as follows:

--data--ETH--gazebo_summer
          |--gazebo_winter
          |--wood_autmn
          |--wood_summer

(6) Generalization across Unseen Datasets

3DMatch to ETH

Generalization from 3DMatch dataset to ETH dataset:

cd ./generalization/ThreeDMatch-to-ETH
python preparation.py

The descriptors for each point will be generated and saved in the generalization/ThreeDMatch-to-ETH/SpinNet_{timestr}/ folder. Then the Feature Matching Recall and inlier ratio can be caluclated by running

python evaluate.py [timestr]

3DMatch to KITTI

Generalization from 3DMatch dataset to KITTI dataset:

cd ./generalization/ThreeDMatch-to-KITTI
python test.py

KITTI to 3DMatch

Generalization from KITTI dataset to 3DMatch dataset:

cd ./generalization/KITTI-to-ThreeDMatch
python preparation.py

The descriptors for each point will be generated and saved in generalization/KITTI-to-3DMatch/SpinNet_{timestr}/ folder. Then the Feature Matching Recall and inlier ratio can be caluclated by running

python evaluate.py [timestr]

Acknowledgement

In this project, we use (parts of) the implementations of the following works:

Citation

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

@inproceedings{ao2020SpinNet,
  title={SpinNet: Learning a General Surface Descriptor for 3D Point Cloud Registration},
  author={Ao, Sheng and Hu, Qingyong and Yang, Bo and Markham, Andrew and Guo, Yulan},
  booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
  year={2021}
}

References

[1] 3DMatch: Learning Local Geometric Descriptors from RGB-D Reconstructions, Andy Zeng, Shuran Song, Matthias Nießner, Matthew Fisher, Jianxiong Xiao, and Thomas Funkhouser, CVPR 2017.

Updates

  • 03/04/2021: The code is released!
  • 01/03/2021: This paper has been accepted by CVPR 2021!
  • 25/11/2020: Initial release!

Related Repos

  1. RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds GitHub stars
  2. SoTA-Point-Cloud: Deep Learning for 3D Point Clouds: A Survey GitHub stars
  3. 3D-BoNet: Learning Object Bounding Boxes for 3D Instance Segmentation on Point Clouds GitHub stars
  4. SensatUrban: Learning Semantics from Urban-Scale Photogrammetric Point Clouds GitHub stars
  5. SQN: Weakly-Supervised Semantic Segmentation of Large-Scale 3D Point Clouds with 1000x Fewer Labels GitHub stars

spinnet's People

Contributors

3dpointcloudlearning avatar aosheng1996 avatar qingyonghu 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  avatar  avatar  avatar

spinnet's Issues

Generate training data

Hi,
I want to generate a training dataset with only some of the scenes in 3DMatch, the paper mentions using 20 anchors with 2048 points per anchor. What is this specific sampling process, and is there any code that can be used for reference?

Looking forward your reply

A question about how to create the dataset。

Thank you very much for your last reply. But right now I have a question about the dataset. Is the 3DMatch dataset the 20 anchor points selected after 50 depth.png is fused into a.ply file? I see that there are 705940 patches in your 3DMtach dataset(are there 705940 anchor,right?), but there are only 5146 .ply files combined from 3DMatch dataset. May I ask how to select your 705,940 patches? In other words, how are the 705,940 points selected, because if a .ply file selects 20 anchor points, there are only 102920 points. Looking forward to your reply. Thank you.

D3Feat results on KITTI

Hi,

In the paper you report the results of D3Feat using rand and pred keypoints on the KITTI dataset, but in the original paper of D3Feat these results are not present.
Did you retrain or reimplement the code fo D3Feat to include those numbers?

Thanks

Script for own data

There is any script to use the network and pretrained models in my own dataset?

Would you give some help/tips about how can I do that?

Thanks.

How is the data generated

Could you share the method to generate data, e.g., 3DMatch, such that I could generate by myself instead of downloading from google drive slowly? Beside, is it possible to share those data with Baidu Yun?

Inference RuntimeError: CUDA out of memory

Hi,

when running preparation.py for 3DMatch I got the following error

RuntimeError: CUDA out of memory. Tried to allocate 5.15 GiB (GPU 0; 10.76 GiB total capacity; 6.27 GiB already allocated; 3.52 GiB free; 6.29 GiB reserved in total by PyTorch)

Is this a normal behavior? Since this is a provided demo, I would assume it should run without such issue on a GPU with 11GB memory.

Also, could you give a rough number on the runtime for inference, e.g., how long it needs to process 4096 keypoints?

Many thanks!

Why don't “Kitti" dataset need the LRF transform?

def forward(self, input):
    center = input[:, -1, :].unsqueeze(1)
    delta_x = input[:, :, 0:3] - center[:, :, 0:3]  # (B, npoint, 3), normalized coordinates
    for case in switch(self.dataset):
        if case('3DMatch'):
            z_axis = cm.cal_Z_axis(delta_x, ref_point=input[:, -1, :3])
            z_axis = cm.l2_norm(z_axis, axis=1)
            R = cm.RodsRotatFormula(z_axis, torch.FloatTensor([0, 0, 1]).unsqueeze(0).repeat(z_axis.shape[0], 1))
            delta_x = torch.matmul(delta_x, R)
            break
        if case('KITTI'):
            break

How long is the training?

Hello, could you please tell me according to the documents ' SpinNet/ThreeDMatch/Train/train. Py ' set the batch size = 79 for training, spend time is it?

Formulation of the cylindrical volume

Thanks for your great work, especially for the convertion to the cylindrical volume.
But I was confused when reading about the convertion from spherical voxels to cylindrical volume.
$\mathbf{C} \in \mathbb{R}^{J \times K \times L \times k_{v} \times 3}$
So my question is:

  1. What does the $k_{v}$ in formulation mean?
  2. Could you explain why the cylindrical volume should be $\mathbf{C} \in \mathbb{R}^{J \times K \times L \times k_{v} \times 3}$? Especially why it times 3 and k_{v}?

How should I train my dataset?

Hello, I would like to use your model to train on my own dataset. My dataset consists of point clouds from different viewpoints of a statue. However, I do not have the corresponding rotation and translation matrices between the point clouds pairwise. How can I address this issue? Thank you!

running test_kitti.py

I'm getting the following error when running python3 test_kitti.py eventhough I have cuda and torch, I have also verified cuda using torch.cuda.is_available and it was True.

Traceback (most recent call last): File "test_kitti.py", line 407, in <module> model.load_state_dict(torch.load('../../pre-trained_models/KITTI_best.pkl')) File "/home/ahmed/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/serialization.py", line 584, in load return _load(opened_zipfile, map_location, pickle_module, **pickle_load_args) File "/home/ahmed/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/serialization.py", line 842, in _load result = unpickler.load() File "/home/ahmed/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/serialization.py", line 834, in persistent_load load_tensor(data_type, size, key, _maybe_decode_ascii(location)) File "/home/ahmed/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/serialization.py", line 823, in load_tensor loaded_storages[key] = restore_location(storage, location) File "/home/ahmed/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/serialization.py", line 174, in default_restore_location result = fn(storage, location) File "/home/ahmed/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/serialization.py", line 150, in _cuda_deserialize device = validate_cuda_device(location) File "/home/ahmed/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/serialization.py", line 134, in validate_cuda_device raise RuntimeError('Attempting to deserialize object on a CUDA ' RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False. If you are running on a CPU-only machine, please use torch.load with map_location=torch.device('cpu') to map your storages to the CPU.

Comparisons with a recent work DIP

Hi, very nice work. I'm working on a related topic and before your method I was checking DIP, a recent work published in ICPR ([43] in your paper). My impression was that they are quite effective in generalisation too (It achieves almost the same performance in ETH dataset as SpinNet based on the reported numbers). Well, I notice their work was not in comparison in your work, just wondering if there are any particular reasons why DIP is not compared in the tables (I meant tables for 3DMatch and ETH)? Thanks a lot.

Is the spherical coordinates equal to the cylindrical coordinate?

Hi,

Thank you for sharing your excellent work! I have a question about the algorithm when i read the paper. After the local pattern of each voxel are transformed, they are refomulated to cylindrical coordinates. I am confused about the reformulation step. Is the spherical coordinates equal to the cylindrical coordinates? If not, why not use spherical coordinates directly but reformulate them to the cylindrical coordinates? I consider that they are both SO(2) equivariant. Is they have different performance in experiment? I approciate if you can give me some hint. Thank you!

ERROR: Failed cleaning build dir for pointnet2-ops

Hi,
when I run 'setup.py',i got follwing mistakes.
I used the ubuntu18.04, cuda driver 10.2, python3.6, pytorch1.6.1, gcc 7.5.0,how can i deal with it ?...thx

Building wheel for pointnet2-ops (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /home/lthach/anaconda3/envs/spinnet/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/setup.py'"'"'; file='"'"'/tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-8tehca1t
cwd: /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib
Complete output (183 lines):
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.6
creating build/lib.linux-x86_64-3.6/pointnet2_ops
copying pointnet2_ops/_version.py -> build/lib.linux-x86_64-3.6/pointnet2_ops
copying pointnet2_ops/init.py -> build/lib.linux-x86_64-3.6/pointnet2_ops
copying pointnet2_ops/pointnet2_modules.py -> build/lib.linux-x86_64-3.6/pointnet2_ops
copying pointnet2_ops/pointnet2_utils.py -> build/lib.linux-x86_64-3.6/pointnet2_ops
running egg_info
creating pointnet2_ops.egg-info
writing pointnet2_ops.egg-info/PKG-INFO
writing dependency_links to pointnet2_ops.egg-info/dependency_links.txt
writing requirements to pointnet2_ops.egg-info/requires.txt
writing top-level names to pointnet2_ops.egg-info/top_level.txt
writing manifest file 'pointnet2_ops.egg-info/SOURCES.txt'
reading manifest file 'pointnet2_ops.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'pointnet2_ops.egg-info/SOURCES.txt'
creating build/lib.linux-x86_64-3.6/pointnet2_ops/_ext-src
creating build/lib.linux-x86_64-3.6/pointnet2_ops/_ext-src/include
copying pointnet2_ops/_ext-src/include/ball_query.h -> build/lib.linux-x86_64-3.6/pointnet2_ops/_ext-src/include
copying pointnet2_ops/_ext-src/include/cuda_utils.h -> build/lib.linux-x86_64-3.6/pointnet2_ops/_ext-src/include
copying pointnet2_ops/_ext-src/include/group_points.h -> build/lib.linux-x86_64-3.6/pointnet2_ops/_ext-src/include
copying pointnet2_ops/_ext-src/include/interpolate.h -> build/lib.linux-x86_64-3.6/pointnet2_ops/_ext-src/include
copying pointnet2_ops/_ext-src/include/sampling.h -> build/lib.linux-x86_64-3.6/pointnet2_ops/_ext-src/include
copying pointnet2_ops/_ext-src/include/utils.h -> build/lib.linux-x86_64-3.6/pointnet2_ops/_ext-src/include
creating build/lib.linux-x86_64-3.6/pointnet2_ops/_ext-src/src
copying pointnet2_ops/_ext-src/src/ball_query.cpp -> build/lib.linux-x86_64-3.6/pointnet2_ops/_ext-src/src
copying pointnet2_ops/_ext-src/src/ball_query_gpu.cu -> build/lib.linux-x86_64-3.6/pointnet2_ops/_ext-src/src
copying pointnet2_ops/_ext-src/src/bindings.cpp -> build/lib.linux-x86_64-3.6/pointnet2_ops/_ext-src/src
copying pointnet2_ops/_ext-src/src/group_points.cpp -> build/lib.linux-x86_64-3.6/pointnet2_ops/_ext-src/src
copying pointnet2_ops/_ext-src/src/group_points_gpu.cu -> build/lib.linux-x86_64-3.6/pointnet2_ops/_ext-src/src
copying pointnet2_ops/_ext-src/src/interpolate.cpp -> build/lib.linux-x86_64-3.6/pointnet2_ops/_ext-src/src
copying pointnet2_ops/_ext-src/src/interpolate_gpu.cu -> build/lib.linux-x86_64-3.6/pointnet2_ops/_ext-src/src
copying pointnet2_ops/_ext-src/src/sampling.cpp -> build/lib.linux-x86_64-3.6/pointnet2_ops/_ext-src/src
copying pointnet2_ops/_ext-src/src/sampling_gpu.cu -> build/lib.linux-x86_64-3.6/pointnet2_ops/_ext-src/src
running build_ext
building 'pointnet2_ops._ext' extension
creating /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/build/temp.linux-x86_64-3.6
creating /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/build/temp.linux-x86_64-3.6/pointnet2_ops
creating /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/build/temp.linux-x86_64-3.6/pointnet2_ops/_ext-src
creating /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/build/temp.linux-x86_64-3.6/pointnet2_ops/_ext-src/src
Emitting ninja build file /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/build/temp.linux-x86_64-3.6/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 /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/build/temp.linux-x86_64-3.6/pointnet2_ops/_ext-src/src/interpolate.o.d -pthread -B /home/lthach/anaconda3/envs/spinnet/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/pointnet2_ops/_ext-src/include -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/torch/csrc/api/include -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/TH -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/THC -I/usr/local/cuda/include -I/home/lthach/anaconda3/envs/spinnet/include/python3.6m -c -c /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/pointnet2_ops/_ext-src/src/interpolate.cpp -o /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/build/temp.linux-x86_64-3.6/pointnet2_ops/_ext-src/src/interpolate.o -O3 -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=_ext -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14
FAILED: /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/build/temp.linux-x86_64-3.6/pointnet2_ops/_ext-src/src/interpolate.o
c++ -MMD -MF /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/build/temp.linux-x86_64-3.6/pointnet2_ops/_ext-src/src/interpolate.o.d -pthread -B /home/lthach/anaconda3/envs/spinnet/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/pointnet2_ops/_ext-src/include -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/torch/csrc/api/include -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/TH -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/THC -I/usr/local/cuda/include -I/home/lthach/anaconda3/envs/spinnet/include/python3.6m -c -c /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/pointnet2_ops/_ext-src/src/interpolate.cpp -o /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/build/temp.linux-x86_64-3.6/pointnet2_ops/_ext-src/src/interpolate.o -O3 -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=_ext -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
In file included from /home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/ATen/Parallel.h:149:0,
from /home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/torch/csrc/api/include/torch/utils.h:3,
from /home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/torch/csrc/api/include/torch/nn/cloneable.h:5,
from /home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/torch/csrc/api/include/torch/nn.h:3,
from /home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/torch/csrc/api/include/torch/all.h:7,
from /home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/torch/extension.h:4,
from /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/pointnet2_ops/_ext-src/include/interpolate.h:3,
from /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/pointnet2_ops/_ext-src/src/interpolate.cpp:1:
/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/ATen/ParallelOpenMP.h:84:0: warning: ignoring #pragma omp parallel [-Wunknown-pragmas]
#pragma omp parallel for if ((end - begin) >= grain_size)

c++: internal compiler error: 已杀死 (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See file:///usr/share/doc/gcc-7/README.Bugs for instructions.
[2/9] c++ -MMD -MF /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/build/temp.linux-x86_64-3.6/pointnet2_ops/_ext-src/src/group_points.o.d -pthread -B /home/lthach/anaconda3/envs/spinnet/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/pointnet2_ops/_ext-src/include -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/torch/csrc/api/include -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/TH -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/THC -I/usr/local/cuda/include -I/home/lthach/anaconda3/envs/spinnet/include/python3.6m -c -c /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/pointnet2_ops/_ext-src/src/group_points.cpp -o /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/build/temp.linux-x86_64-3.6/pointnet2_ops/_ext-src/src/group_points.o -O3 -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=_ext -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14
FAILED: /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/build/temp.linux-x86_64-3.6/pointnet2_ops/_ext-src/src/group_points.o
c++ -MMD -MF /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/build/temp.linux-x86_64-3.6/pointnet2_ops/_ext-src/src/group_points.o.d -pthread -B /home/lthach/anaconda3/envs/spinnet/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/pointnet2_ops/_ext-src/include -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/torch/csrc/api/include -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/TH -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/THC -I/usr/local/cuda/include -I/home/lthach/anaconda3/envs/spinnet/include/python3.6m -c -c /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/pointnet2_ops/_ext-src/src/group_points.cpp -o /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/build/temp.linux-x86_64-3.6/pointnet2_ops/_ext-src/src/group_points.o -O3 -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=_ext -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
In file included from /home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/ATen/Parallel.h:149:0,
from /home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/torch/csrc/api/include/torch/utils.h:3,
from /home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/torch/csrc/api/include/torch/nn/cloneable.h:5,
from /home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/torch/csrc/api/include/torch/nn.h:3,
from /home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/torch/csrc/api/include/torch/all.h:7,
from /home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/torch/extension.h:4,
from /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/pointnet2_ops/_ext-src/include/group_points.h:2,
from /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/pointnet2_ops/_ext-src/src/group_points.cpp:1:
/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/ATen/ParallelOpenMP.h:84:0: warning: ignoring #pragma omp parallel [-Wunknown-pragmas]
#pragma omp parallel for if ((end - begin) >= grain_size)

c++: internal compiler error: 已杀死 (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See file:///usr/share/doc/gcc-7/README.Bugs for instructions.
[3/9] c++ -MMD -MF /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/build/temp.linux-x86_64-3.6/pointnet2_ops/_ext-src/src/sampling.o.d -pthread -B /home/lthach/anaconda3/envs/spinnet/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/pointnet2_ops/_ext-src/include -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/torch/csrc/api/include -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/TH -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/THC -I/usr/local/cuda/include -I/home/lthach/anaconda3/envs/spinnet/include/python3.6m -c -c /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/pointnet2_ops/_ext-src/src/sampling.cpp -o /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/build/temp.linux-x86_64-3.6/pointnet2_ops/_ext-src/src/sampling.o -O3 -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=_ext -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
In file included from /home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/ATen/Parallel.h:149:0,
from /home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/torch/csrc/api/include/torch/utils.h:3,
from /home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/torch/csrc/api/include/torch/nn/cloneable.h:5,
from /home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/torch/csrc/api/include/torch/nn.h:3,
from /home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/torch/csrc/api/include/torch/all.h:7,
from /home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/torch/extension.h:4,
from /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/pointnet2_ops/_ext-src/include/sampling.h:2,
from /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/pointnet2_ops/_ext-src/src/sampling.cpp:1:
/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/ATen/ParallelOpenMP.h:84:0: warning: ignoring #pragma omp parallel [-Wunknown-pragmas]
#pragma omp parallel for if ((end - begin) >= grain_size)

[4/9] c++ -MMD -MF /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/build/temp.linux-x86_64-3.6/pointnet2_ops/_ext-src/src/ball_query.o.d -pthread -B /home/lthach/anaconda3/envs/spinnet/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/pointnet2_ops/_ext-src/include -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/torch/csrc/api/include -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/TH -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/THC -I/usr/local/cuda/include -I/home/lthach/anaconda3/envs/spinnet/include/python3.6m -c -c /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/pointnet2_ops/_ext-src/src/ball_query.cpp -o /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/build/temp.linux-x86_64-3.6/pointnet2_ops/_ext-src/src/ball_query.o -O3 -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=_ext -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
In file included from /home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/ATen/Parallel.h:149:0,
from /home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/torch/csrc/api/include/torch/utils.h:3,
from /home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/torch/csrc/api/include/torch/nn/cloneable.h:5,
from /home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/torch/csrc/api/include/torch/nn.h:3,
from /home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/torch/csrc/api/include/torch/all.h:7,
from /home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/torch/extension.h:4,
from /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/pointnet2_ops/_ext-src/include/ball_query.h:2,
from /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/pointnet2_ops/_ext-src/src/ball_query.cpp:1:
/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/ATen/ParallelOpenMP.h:84:0: warning: ignoring #pragma omp parallel [-Wunknown-pragmas]
#pragma omp parallel for if ((end - begin) >= grain_size)

[5/9] c++ -MMD -MF /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/build/temp.linux-x86_64-3.6/pointnet2_ops/_ext-src/src/bindings.o.d -pthread -B /home/lthach/anaconda3/envs/spinnet/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/pointnet2_ops/_ext-src/include -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/torch/csrc/api/include -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/TH -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/THC -I/usr/local/cuda/include -I/home/lthach/anaconda3/envs/spinnet/include/python3.6m -c -c /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/pointnet2_ops/_ext-src/src/bindings.cpp -o /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/build/temp.linux-x86_64-3.6/pointnet2_ops/_ext-src/src/bindings.o -O3 -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=_ext -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
In file included from /home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/ATen/Parallel.h:149:0,
from /home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/torch/csrc/api/include/torch/utils.h:3,
from /home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/torch/csrc/api/include/torch/nn/cloneable.h:5,
from /home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/torch/csrc/api/include/torch/nn.h:3,
from /home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/torch/csrc/api/include/torch/all.h:7,
from /home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/torch/extension.h:4,
from /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/pointnet2_ops/_ext-src/include/ball_query.h:2,
from /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/pointnet2_ops/_ext-src/src/bindings.cpp:1:
/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/ATen/ParallelOpenMP.h:84:0: warning: ignoring #pragma omp parallel [-Wunknown-pragmas]
#pragma omp parallel for if ((end - begin) >= grain_size)

[6/9] /usr/local/cuda/bin/nvcc -I/tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/pointnet2_ops/ext-src/include -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/torch/csrc/api/include -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/TH -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/THC -I/usr/local/cuda/include -I/home/lthach/anaconda3/envs/spinnet/include/python3.6m -c -c /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/pointnet2_ops/ext-src/src/interpolate_gpu.cu -o /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/build/temp.linux-x86_64-3.6/pointnet2_ops/ext-src/src/interpolate_gpu.o -D__CUDA_NO_HALF_OPERATORS -D__CUDA_NO_HALF_CONVERSIONS_ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O3 -Xfatbin -compress-all -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=ext -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_70,code=sm_70 -gencode=arch=compute_50,code=sm_50 -gencode=arch=compute_37,code=sm_37 -gencode=arch=compute_61,code=sm_61 -gencode=arch=compute_60,code=sm_60 -gencode=arch=compute_37,code=compute_37 -gencode=arch=compute_62,code=sm_62 -gencode=arch=compute_75,code=sm_75 -std=c++14
[7/9] /usr/local/cuda/bin/nvcc -I/tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/pointnet2_ops/ext-src/include -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/torch/csrc/api/include -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/TH -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/THC -I/usr/local/cuda/include -I/home/lthach/anaconda3/envs/spinnet/include/python3.6m -c -c /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/pointnet2_ops/ext-src/src/ball_query_gpu.cu -o /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/build/temp.linux-x86_64-3.6/pointnet2_ops/ext-src/src/ball_query_gpu.o -D__CUDA_NO_HALF_OPERATORS -D__CUDA_NO_HALF_CONVERSIONS
-D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O3 -Xfatbin -compress-all -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=ext -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_70,code=sm_70 -gencode=arch=compute_50,code=sm_50 -gencode=arch=compute_37,code=sm_37 -gencode=arch=compute_61,code=sm_61 -gencode=arch=compute_60,code=sm_60 -gencode=arch=compute_37,code=compute_37 -gencode=arch=compute_62,code=sm_62 -gencode=arch=compute_75,code=sm_75 -std=c++14
[8/9] /usr/local/cuda/bin/nvcc -I/tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/pointnet2_ops/ext-src/include -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/torch/csrc/api/include -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/TH -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/THC -I/usr/local/cuda/include -I/home/lthach/anaconda3/envs/spinnet/include/python3.6m -c -c /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/pointnet2_ops/ext-src/src/group_points_gpu.cu -o /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/build/temp.linux-x86_64-3.6/pointnet2_ops/ext-src/src/group_points_gpu.o -D__CUDA_NO_HALF_OPERATORS -D__CUDA_NO_HALF_CONVERSIONS
-D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O3 -Xfatbin -compress-all -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=ext -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_70,code=sm_70 -gencode=arch=compute_50,code=sm_50 -gencode=arch=compute_37,code=sm_37 -gencode=arch=compute_61,code=sm_61 -gencode=arch=compute_60,code=sm_60 -gencode=arch=compute_37,code=compute_37 -gencode=arch=compute_62,code=sm_62 -gencode=arch=compute_75,code=sm_75 -std=c++14
[9/9] /usr/local/cuda/bin/nvcc -I/tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/pointnet2_ops/ext-src/include -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/torch/csrc/api/include -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/TH -I/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/include/THC -I/usr/local/cuda/include -I/home/lthach/anaconda3/envs/spinnet/include/python3.6m -c -c /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/pointnet2_ops/ext-src/src/sampling_gpu.cu -o /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/build/temp.linux-x86_64-3.6/pointnet2_ops/ext-src/src/sampling_gpu.o -D__CUDA_NO_HALF_OPERATORS -D__CUDA_NO_HALF_CONVERSIONS
-D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O3 -Xfatbin -compress-all -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=_ext -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_70,code=sm_70 -gencode=arch=compute_50,code=sm_50 -gencode=arch=compute_37,code=sm_37 -gencode=arch=compute_61,code=sm_61 -gencode=arch=compute_60,code=sm_60 -gencode=arch=compute_37,code=compute_37 -gencode=arch=compute_62,code=sm_62 -gencode=arch=compute_75,code=sm_75 -std=c++14
ninja: build stopped: subcommand failed.
Traceback (most recent call last):
File "/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 1515, in _run_ninja_build
env=env)
File "/home/lthach/anaconda3/envs/spinnet/lib/python3.6/subprocess.py", line 438, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "", line 1, in
File "/tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/setup.py", line 38, in
include_package_data=True,
File "/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/setuptools/init.py", line 153, in setup
return distutils.core.setup(**attrs)
File "/home/lthach/anaconda3/envs/spinnet/lib/python3.6/distutils/core.py", line 148, in setup
dist.run_commands()
File "/home/lthach/anaconda3/envs/spinnet/lib/python3.6/distutils/dist.py", line 955, in run_commands
self.run_command(cmd)
File "/home/lthach/anaconda3/envs/spinnet/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/wheel/bdist_wheel.py", line 299, in run
self.run_command('build')
File "/home/lthach/anaconda3/envs/spinnet/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/home/lthach/anaconda3/envs/spinnet/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/home/lthach/anaconda3/envs/spinnet/lib/python3.6/distutils/command/build.py", line 135, in run
self.run_command(cmd_name)
File "/home/lthach/anaconda3/envs/spinnet/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/home/lthach/anaconda3/envs/spinnet/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/setuptools/command/build_ext.py", line 79, in run
_build_ext.run(self)
File "/home/lthach/anaconda3/envs/spinnet/lib/python3.6/distutils/command/build_ext.py", line 339, in run
self.build_extensions()
File "/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 649, in build_extensions
build_ext.build_extensions(self)
File "/home/lthach/anaconda3/envs/spinnet/lib/python3.6/distutils/command/build_ext.py", line 448, in build_extensions
self._build_extensions_serial()
File "/home/lthach/anaconda3/envs/spinnet/lib/python3.6/distutils/command/build_ext.py", line 473, in _build_extensions_serial
self.build_extension(ext)
File "/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/setuptools/command/build_ext.py", line 196, in build_extension
_build_ext.build_extension(self, ext)
File "/home/lthach/anaconda3/envs/spinnet/lib/python3.6/distutils/command/build_ext.py", line 533, in build_extension
depends=ext.depends)
File "/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 478, in unix_wrap_ninja_compile
with_cuda=with_cuda)
File "/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 1233, in _write_ninja_file_and_compile_objects
error_prefix='Error compiling objects for extension')
File "/home/lthach/anaconda3/envs/spinnet/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 1529, in _run_ninja_build
raise RuntimeError(message)
RuntimeError: Error compiling objects for extension

ERROR: Failed building wheel for pointnet2-ops
Running setup.py clean for pointnet2-ops
ERROR: Command errored out with exit status 1:
command: /home/lthach/anaconda3/envs/spinnet/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/setup.py'"'"'; file='"'"'/tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' clean --all
cwd: /tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4
Complete output (5 lines):
Traceback (most recent call last):
File "", line 1, in
File "/tmp/pip-install-s9qbnrir/pointnet2-ops_9baa9a91b6f14ea1956e303825dfdfa4/pointnet2_ops_lib/setup.py", line 17, in
exec(open(osp.join("pointnet2_ops", "_version.py")).read())
FileNotFoundError: [Errno 2] No such file or directory: 'pointnet2_ops/_version.py'

ERROR: Failed cleaning build dir for pointnet2-ops

meta-data Fig. 4

Hi,

Would it be possible to have the meta-data of Fig. 4 to use it to add new results to it?

Thanks

Can you give the data from 0.00-0.20 results?

Hi,I would like to make some experimental comparisons according to your work. Could you give me the Feat Macthing Ratio from 0.00 to 0.20? The results I run by myself may not meet the requirements of the results you run, so I hope you can give me, thank you.

Looking forward your reply.

Why did the unpack data set go wrong?

HI,I'm trying to train the code for this project, but the dataset you given has an unpacking error.I have repeatedly unzipped many times and redownloaded the dataset many times, but I still can't get the solution.I should unpack *.tar.gz files to get *.pkl files, and then run the code,right?

ValueError: all the input array dimensions for the concatenation axis must match exactly, but along dimension 1, the array at index 0 has size 6 and the array at index 1 has size 4

Can you help me think of a solution? The following is the run log.
You can see that the first few lines are still working.
Error starts when loading this file:" load training files ../../data/3DMatch/patches/train/train_poses_20_2048_35297.pkl"
"
2021-04-09T22:11:28.071900798Z Epoch: 0 [8943/9288] loss: 1.08 time: 43121.72s
2021-04-09T22:11:28.071930576Z Accuracy: 75.0000
2021-04-09T22:11:28.071934952Z
2021-04-09T22:11:32.552623009Z Epoch: 0 [8944/9288] loss: 1.10 time: 43126.20s
2021-04-09T22:11:32.552852758Z Accuracy: 72.3684
2021-04-09T22:11:32.552863076Z
2021-04-09T22:11:37.068269898Z Epoch: 0 [8945/9288] loss: 1.01 time: 43130.72s
2021-04-09T22:11:37.068294325Z Accuracy: 80.2632
2021-04-09T22:11:37.068298722Z
2021-04-09T22:11:37.279102569Z load training files ../../data/3DMatch/patches/train/train_poses_20_2048_35297.pkl
2021-04-09T22:11:37.281540945Z Traceback (most recent call last):
2021-04-09T22:11:37.281556553Z File "train.py", line 99, in
2021-04-09T22:11:37.284176280Z trainer.train()
2021-04-09T22:11:37.284185636Z File "/Work/SpinNet/ThreeDMatch/Train/trainer.py", line 52, in train
2021-04-09T22:11:37.284730993Z self.train_epoch(epoch)
2021-04-09T22:11:37.284737622Z File "/Work/SpinNet/ThreeDMatch/Train/trainer.py", line 83, in train_epoch
2021-04-09T22:11:37.285075094Z for iter, (anc_local_patch, pos_local_patch, rotate, shift) in enumerate(self.train_loader):
2021-04-09T22:11:37.285083469Z File "/opt/conda/envs/spinnet/lib/python3.6/site-packages/torch/utils/data/dataloader.py", line 363, in next
2021-04-09T22:11:37.285255810Z data = self._next_data()
2021-04-09T22:11:37.285261255Z File "/opt/conda/envs/spinnet/lib/python3.6/site-packages/torch/utils/data/dataloader.py", line 403, in _next_data
2021-04-09T22:11:37.285435966Z data = self._dataset_fetcher.fetch(index) # may raise StopIteration
2021-04-09T22:11:37.285444043Z File "/opt/conda/envs/spinnet/lib/python3.6/site-packages/torch/utils/data/_utils/fetch.py", line 44, in fetch
2021-04-09T22:11:37.285530279Z data = [self.dataset[idx] for idx in possibly_batched_index]
2021-04-09T22:11:37.285535661Z File "/opt/conda/envs/spinnet/lib/python3.6/site-packages/torch/utils/data/_utils/fetch.py", line 44, in
2021-04-09T22:11:37.285625083Z data = [self.dataset[idx] for idx in possibly_batched_index]
2021-04-09T22:11:37.285632727Z File "/Work/SpinNet/ThreeDMatch/Train/dataset.py", line 88, in getitem
2021-04-09T22:11:37.285933865Z self.patches[i] = np.concatenate(([pose, self.patches[i]]))
2021-04-09T22:11:37.285939200Z File "<array_function internals>", line 6, in concatenate
2021-04-09T22:11:37.286388940Z ValueError: all the input array dimensions for the concatenation axis must match exactly, but along dimension 1, the array at index 0 has size 6 and the array at index 1 has size 4
"

Multi-GPU Implementations && Keypoints Generation

Hello! I have two questions:

  1. As far as I can see, the current released version doesn't support Multi-GPU implementation, the hyper-params are set clearly for Multi-GPU (train_batch_size is set to 76, I manage to run the code in my single TITAN V with 11 GB memory by setting it from 76 -> 16) , so could you release the Multi-GPU implementation version?

  2. Could you tell me what is the strategy of selecting 5k keypoints in 3DMatch?

Best.

How to get “D3Feat keypts”?

Hi,
Thanks for your Innovative work, but I am confused about “D3Feat keypts”.
# load D3Feat keypts if is_D3Feat_keypts: keypts_path = './D3Feat_contralo-54-pred/keypoints/' + pcdpath.split('/')[-2] + '/' + filename + '.npy'

I have trained the net "D3Feat.Pytorch" and your "SpinNet", but I cannot find the file about “./D3Feat_contralo-54-pred/keypoints/'.

Best regards,
Thanks!

Pre-Trained Models

Hey,

could you provide some pre-trained models that you used in your work? I want to test if I can use your network for my own work, but I don't have the possibility to train the network myself. Your help would be much appreciated.

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.