GithubHelp home page GithubHelp logo

mit-han-lab / pvcnn Goto Github PK

View Code? Open in Web Editor NEW
624.0 22.0 128.0 136 KB

[NeurIPS 2019, Spotlight] Point-Voxel CNN for Efficient 3D Deep Learning

Home Page: https://pvcnn.mit.edu/

License: MIT License

Python 82.41% C++ 6.19% Cuda 11.30% Shell 0.10%
pvcnn point-voxel-cnn point-cloud pointnet pointnet2 frustum-pointnet frustum-pointnets pytorch s3dis shapenet

pvcnn's Introduction

PVCNN: Point-Voxel CNN for Efficient 3D Deep Learning

NVIDIA Jetson Community Project Spotlight

@inproceedings{liu2019pvcnn,
  title={Point-Voxel CNN for Efficient 3D Deep Learning},
  author={Liu, Zhijian and Tang, Haotian and Lin, Yujun and Han, Song},
  booktitle={Advances in Neural Information Processing Systems},
  year={2019}
}

Prerequisites

The code is built with following libraries (see requirements.txt):

Data Preparation

S3DIS

We follow the data pre-processing in PointCNN. The code for preprocessing the S3DIS dataset is located in data/s3dis/. One should first download the dataset from here, then run

python data/s3dis/prepare_data.py -d [path to unzipped dataset dir]

ShapeNet

We follow the data pre-processing in PointNet2. Please run the following command to down the dataset

./data/shapenet/download.sh

KITTI

For Frustum-PointNet backbone, we follow the data pre-processing in Frustum-Pointnets. One should first download the ground truth labels from here, then run

unzip data_object_label_2.zip
mv training/label_2 data/kitti/ground_truth
./data/kitti/frustum/download.sh

Code

The core code to implement PVConv is modules/pvconv.py. Its key idea costs only a few lines of code:

    voxel_features, voxel_coords = voxelize(features, coords)
    voxel_features = voxel_layers(voxel_features)
    voxel_features = trilinear_devoxelize(voxel_features, voxel_coords, resolution)
    fused_features = voxel_features + point_layers(features)

Pretrained Models

Here we provide some of the pretrained models. The accuracy might vary a little bit compared to the paper, since we re-train some of the models for reproducibility.

S3DIS

We compare PVCNN against the PointNet, 3D-UNet and PointCNN performance as reported in the following table. The accuracy is tested following PointCNN. The list is keeping updated.

Models Overall Acc mIoU
PointNet 82.54 42.97
PointNet (Reproduce) 80.46 44.03
PVCNN (0.125 x C) 82.79 48.75
PVCNN (0.25 x C) 85.00 53.08
3D-UNet 85.12 54.93
PVCNN 86.47 56.64
PointCNN 85.91 57.26
PVCNN++ (0.5 x C) 86.88 58.30
PVCNN++ 87.48 59.02

ShapeNet

We compare PVCNN against the PointNet, PointNet++, 3D-UNet, Spider CNN and PointCNN performance as reported in the following table. The accuracy is tested following PointNet. The list is keeping updated.

Models mIoU
PointNet (Reproduce) 83.5
PointNet 83.7
3D-UNet 84.6
PVCNN (0.25 x C) 84.9
PointNet++ SSG (Reproduce) 85.1
PointNet++ MSG 85.1
PVCNN (0.25 x C, DML) 85.1
SpiderCNN 85.3
PointNet++ MSG (Reproduce) 85.3
PVCNN (0.5 x C) 85.5
PVCNN 85.8
PointCNN 86.1
PVCNN (DML) 86.1

KITTI

We compare PVCNN (Efficient Version in the paper) against PointNets performance as reported in the following table. The accuracy is tested on val set following Frustum PointNets using modified code from kitti-object-eval-python. Since there is random sampling in Frustum Pointnets, random seed will influence the evaluation. All results provided by us are the average of 20 measurements with different seeds, and the best one of 20 measurements is shown in the parentheses. The list is keeping updated.

Models Car Car Car Pedestrian Pedestrian Pedestrian Cyclist Cyclist Cyclist
Easy Moderate Hard Easy Moderate Hard Easy Moderate Hard
Frustum PointNet 83.26 69.28 62.56 - - - - - -
Frustum PointNet (Reproduce) 85.24 (85.17) 71.63 (71.56) 63.79 (63.78) 66.44 (66.83) 56.90 (57.20) 50.43 (50.54) 77.14 (78.16) 56.46 (57.41) 52.79 (53.66)
Frustum PointNet++ 83.76 70.92 63.65 70.00 61.32 53.59 77.15 56.49 53.37
Frustum PointNet++ (Reproduce) 84.72 (84.46) 71.99 (71.95) 64.20 (64.13) 68.40 (69.27) 60.03 (60.80) 52.61 (53.19) 75.56 (79.41) 56.74 (58.65) 53.33 (54.82)
Frustum PVCNN (Efficient) 85.25 (85.30) 72.12 (72.22) 64.24 (64.36) 70.60 (70.60) 61.24 (61.35) 56.25 (56.38) 78.10 (79.79) 57.45 (58.72) 53.65 (54.81)

Testing Pretrained Models

For example, to test the downloaded pretrained models on S3DIS, one can run

python train.py [config-file] --devices [gpu-ids] --evaluate --configs.evaluate.best_checkpoint_path [path to the model checkpoint]

For instance, to evaluate PVCNN on GPU 0,1 (with 4096 points on Area 5 of S3DIS), one can run

python train.py configs/s3dis/pvcnn/area5.py --devices 0,1 --evaluate --configs.evaluate.best_checkpoint_path s3dis.pvcnn.area5.c1.pth.tar

Specially, for Frustum KITTI evaluation, one can specify the number of measurements to eliminate the random seed effects,

python train.py configs/kitti/frustum/pvcnne.py --devices 0 --evaluate --configs.evaluate.best_checkpoint_path kitti.frustum.pvcnne.pth.tar --configs.evaluate.num_tests [#measurements]

Training

We provided several examples to train PVCNN with this repo:

  • To train PVCNN on S3DIS holding out Area 5, one can run
python train.py configs/s3dis/pvcnn/area5/c1.py --devices 0,1

In general, to train a model, one can run

python train.py [config-file] --devices [gpu-ids]

NOTE: During training, the meters will provide accuracies and IoUs. However, these are just rough estimations. One have to run the following command to get accurate evaluation.

To evaluate trained models, one can do inference by running:

python train.py [config-file] --devices [gpu-ids] --evaluate

License

This repository is released under the MIT license. See LICENSE for additional details.

Acknowledgement

pvcnn's People

Contributors

songhan avatar synxlin 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pvcnn's Issues

RuntimeError: cuDNN error: CUDNN_STATUS_INTERNAL_ERROR

When I train pvcnn, everything is OK. But when I train pvcnn2, error occured:

==> training epoch 0/50
train:   0% 0/3576 [00:05<?, ?it/s]
Traceback (most recent call last):
  File "train.py", line 326, in <module>
    main()
  File "train.py", line 286, in main
    current_step=current_step, writer=writer)
  File "train.py", line 150, in train
    loss.backward()
  File "/home/fwq3/.conda/envs/pvcnn/lib/python3.7/site-packages/torch/tensor.py", line 198, in backward
    torch.autograd.backward(self, gradient, retain_graph, create_graph)
  File "/home/fwq3/.conda/envs/pvcnn/lib/python3.7/site-packages/torch/autograd/__init__.py", line 100, in backward
    allow_unreachable=True)  # allow_unreachable flag
RuntimeError: cuDNN error: CUDNN_STATUS_INTERNAL_ERROR (findAlgorithms at /opt/conda/conda-bld/pytorch_1587428266983/work/aten/src/ATen/native/cudnn/Conv.cpp:623)
frame #0: c10::Error::Error(c10::SourceLocation, std::string const&) + 0x4e (0x7f0688842b5e in /home/fwq3/.conda/envs/pvcnn/lib/python3.7/site-packages/torch/lib/libc10.so)
frame #1: <unknown function> + 0xd73755 (0x7f06897e2755 in /home/fwq3/.conda/envs/pvcnn/lib/python3.7/site-packages/torch/lib/libtorch_cuda.so)
frame #2: <unknown function> + 0xd662fa (0x7f06897d52fa in /home/fwq3/.conda/envs/pvcnn/lib/python3.7/site-packages/torch/lib/libtorch_cuda.so)
frame #3: <unknown function> + 0xd676df (0x7f06897d66df in /home/fwq3/.conda/envs/pvcnn/lib/python3.7/site-packages/torch/lib/libtorch_cuda.so)
frame #4: <unknown function> + 0xd6b330 (0x7f06897da330 in /home/fwq3/.conda/envs/pvcnn/lib/python3.7/site-packages/torch/lib/libtorch_cuda.so)
frame #5: at::native::cudnn_convolution_backward_weight(c10::ArrayRef<long>, at::Tensor const&, at::Tensor const&, c10::ArrayRef<long>, c10::ArrayRef<long>, c10::ArrayRef<long>, long, bool, bool) + 0x49 (0x7f06897da589 in /home/fwq3/.conda/envs/pvcnn/lib/python3.7/site-packages/torch/lib/libtorch_cuda.so)
frame #6: <unknown function> + 0xdd1ee0 (0x7f0689840ee0 in /home/fwq3/.conda/envs/pvcnn/lib/python3.7/site-packages/torch/lib/libtorch_cuda.so)
frame #7: <unknown function> + 0xe16158 (0x7f0689885158 in /home/fwq3/.conda/envs/pvcnn/lib/python3.7/site-packages/torch/lib/libtorch_cuda.so)
frame #8: at::native::cudnn_convolution_backward(at::Tensor const&, at::Tensor const&, at::Tensor const&, c10::ArrayRef<long>, c10::ArrayRef<long>, c10::ArrayRef<long>, long, bool, bool, std::array<bool, 2ul>) + 0x2fc (0x7f06897db23c in /home/fwq3/.conda/envs/pvcnn/lib/python3.7/site-packages/torch/lib/libtorch_cuda.so)
frame #9: <unknown function> + 0xdd1beb (0x7f0689840beb in /home/fwq3/.conda/envs/pvcnn/lib/python3.7/site-packages/torch/lib/libtorch_cuda.so)
frame #10: <unknown function> + 0xe161b4 (0x7f06898851b4 in /home/fwq3/.conda/envs/pvcnn/lib/python3.7/site-packages/torch/lib/libtorch_cuda.so)
frame #11: <unknown function> + 0x29defc6 (0x7f06b6012fc6 in /home/fwq3/.conda/envs/pvcnn/lib/python3.7/site-packages/torch/lib/libtorch_cpu.so)
frame #12: <unknown function> + 0x2a2ea54 (0x7f06b6062a54 in /home/fwq3/.conda/envs/pvcnn/lib/python3.7/site-packages/torch/lib/libtorch_cpu.so)
frame #13: torch::autograd::generated::CudnnConvolutionBackward::apply(std::vector<at::Tensor, std::allocator<at::Tensor> >&&) + 0x378 (0x7f06b5c2af28 in /home/fwq3/.conda/envs/pvcnn/lib/python3.7/site-packages/torch/lib/libtorch_cpu.so)
frame #14: <unknown function> + 0x2ae8215 (0x7f06b611c215 in /home/fwq3/.conda/envs/pvcnn/lib/python3.7/site-packages/torch/lib/libtorch_cpu.so)
frame #15: torch::autograd::Engine::evaluate_function(std::shared_ptr<torch::autograd::GraphTask>&, torch::autograd::Node*, torch::autograd::InputBuffer&) + 0x16f3 (0x7f06b6119513 in /home/fwq3/.conda/envs/pvcnn/lib/python3.7/site-packages/torch/lib/libtorch_cpu.so)
frame #16: torch::autograd::Engine::thread_main(std::shared_ptr<torch::autograd::GraphTask> const&, bool) + 0x3d2 (0x7f06b611a2f2 in /home/fwq3/.conda/envs/pvcnn/lib/python3.7/site-packages/torch/lib/libtorch_cpu.so)
frame #17: torch::autograd::Engine::thread_init(int) + 0x39 (0x7f06b6112969 in /home/fwq3/.conda/envs/pvcnn/lib/python3.7/site-packages/torch/lib/libtorch_cpu.so)
frame #18: torch::autograd::python::PythonEngine::thread_init(int) + 0x38 (0x7f06b9459558 in /home/fwq3/.conda/envs/pvcnn/lib/python3.7/site-packages/torch/lib/libtorch_python.so)
frame #19: <unknown function> + 0xc819d (0x7f06bbec419d in /home/fwq3/.conda/envs/pvcnn/lib/python3.7/site-packages/torch/lib/../../../.././libstdc++.so.6)
frame #20: <unknown function> + 0x7fa3 (0x7f06d5d6bfa3 in /lib/x86_64-linux-gnu/libpthread.so.0)
frame #21: clone + 0x3f (0x7f06d5c9c4cf in /lib/x86_64-linux-gnu/libc.so.6)

I'm really confused about this and haven't found the solution. Can you help me?

some problem about dataset

Dear Author:
Hello, I always encounter the problem โ€œNo such file or directory: 'data/s3dis/Area_1'โ€ when running โ€œpython scripts/s3dis/prepare_data.py -d [path to unzip dataset dir]โ€, how can I solve it?
How should I place the dataset๏ผŸ Thank you very much.

What is meant by features, and coords!?

In this code:

class Voxelization(nn.Module):
    def __init__(self, resolution, normalize=True, eps=0):
        super().__init__()
        self.r = int(resolution)
        self.normalize = normalize
        self.eps = eps

    def forward(self, features, coords):
        coords = coords.detach()
        norm_coords = coords - coords.mean(2, keepdim=True)
        if self.normalize:
            norm_coords = norm_coords / (norm_coords.norm(dim=1, keepdim=True).max(dim=2, keepdim=True).values * 2.0 + self.eps) + 0.5
        else:
            norm_coords = (norm_coords + 1) / 2.0
        norm_coords = torch.clamp(norm_coords * self.r, 0, self.r - 1)
        vox_coords = torch.round(norm_coords).to(torch.int32)
        return F.avg_voxelize(features, vox_coords, self.r), norm_coords

    def extra_repr(self):
        return 'resolution={}{}'.format(self.r, ', normalized eps = {}'.format(self.eps) if self.normalize else '')

What is the input Features and Coords, In Kitti Dataset for example point cloud are defined as (N,4) as 3 for x,y,z, and one for reflectance so what is the features and coords from those 4 and why coords.detach() this will cut the gradient flow !?

What is point feature?

Hi, first thanks for having such a good work. I have a question regarding the paper/code since I want to use my customized dataset.

What is feature mean? As in the code, the input is "features, coords". I can understand coords are the coordinates of each point, how about features? How to generate the feature from the point cloud data? Thanks!

RuntimeError while building extension '_pvcnn_backend'

Thanks for releasing your code~
I met a problem when I tried to train my model. An error occurs when I run this command:
python train.py configs/shapenet/pointnet.py --devices 1,2
And the error is like this:

Traceback (most recent call last):
  File "/root/anaconda3/envs/cv/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 949, in _build_extension_module
    check=True)
  File "/root/anaconda3/envs/cv/lib/python3.7/subprocess.py", line 487, 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:
......
RuntimeError: Error building extension '_pvcnn_backend': b'[1/7] c++ -MMD -MF grouping.o.d -DTORCH_EXTENSION_NAME=_pvcnn_backend -DTORCH_API_INCLUDE_EXTENSION_H
......

In my opinion it might be an error about compiling C and CUDA files. I searched on the internet and someone met similar problem said this is caused by the mismatched version of gcc and CUDA. Is it the origin of this problem? If so, can u tell me the gcc and CUDA version u used?
THANKS! :)

subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.

ros@rosmachine:~/Downloads/pvcnn$ python3 train.py configs/kitti/frustum/pvcnne.py --devices 0 --evaluate --configs.evaluate.best_checkpoint_path /home/ros/Downloads/kitti.frustum.pvcnne.pth.tar --configs.evaluate.num_tests 20
==> loading configs from ['configs/kitti/frustum/pvcnne.py']
Traceback (most recent call last):
File "/home/ros/.local/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1400, in _run_ninja_build
check=True)
File "/usr/lib/python3.7/subprocess.py", line 512, 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 "train.py", line 266, in
main()
File "train.py", line 79, in main
configs = prepare()
File "train.py", line 24, in prepare
configs.update_from_modules(*args.configs)
File "/home/ros/Downloads/pvcnn/utils/config.py", line 113, in update_from_modules
importlib.import_module(module)
File "/usr/lib/python3.7/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1006, in _gcd_import
File "", line 983, in _find_and_load
File "", line 953, in _find_and_load_unlocked
File "", line 219, in _call_with_frames_removed
File "", line 1006, in _gcd_import
File "", line 983, in _find_and_load
File "", line 967, in _find_and_load_unlocked
File "", line 677, in _load_unlocked
File "", line 728, in exec_module
File "", line 219, in _call_with_frames_removed
File "/home/ros/Downloads/pvcnn/configs/kitti/frustum/init.py", line 7, in
from meters.kitti import MeterFrustumKitti
File "/home/ros/Downloads/pvcnn/meters/kitti/init.py", line 1, in
from meters.kitti.frustum import MeterFrustumKitti
File "/home/ros/Downloads/pvcnn/meters/kitti/frustum.py", line 4, in
from modules.frustum import get_box_corners_3d
File "/home/ros/Downloads/pvcnn/modules/init.py", line 1, in
from modules.ball_query import BallQuery
File "/home/ros/Downloads/pvcnn/modules/ball_query.py", line 4, in
import modules.functional as F
File "/home/ros/Downloads/pvcnn/modules/functional/init.py", line 1, in
from modules.functional.ball_query import ball_query
File "/home/ros/Downloads/pvcnn/modules/functional/ball_query.py", line 3, in
from modules.functional.backend import _backend
File "/home/ros/Downloads/pvcnn/modules/functional/backend.py", line 8, in
sources=[os.path.join(src_path,'src', f) for f in [
File "/home/ros/.local/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 898, in load
is_python_module)
File "/home/ros/.local/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1086, in jit_compile
with_cuda=with_cuda)
File "/home/ros/.local/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1186, in write_ninja_file_and_build_library
error_prefix="Error building extension '{}'".format(name))
File "/home/ros/.local/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1413, in run_ninja_build
raise RuntimeError(message)
RuntimeError: Error building extension 'pvcnn_backend': [1/14] c++ -MMD -MF bindings.o.d -DTORCH_EXTENSION_NAME=pvcnn_backend -DTORCH_API_INCLUDE_EXTENSION_H -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include/TH -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include/THC -isystem /usr/local/cuda/include -isystem /usr/include/python3.7m -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++14 -O3 -std=c++17 -c /home/ros/Downloads/pvcnn/modules/functional/src/bindings.cpp -o bindings.o
FAILED: bindings.o
c++ -MMD -MF bindings.o.d -DTORCH_EXTENSION_NAME=pvcnn_backend -DTORCH_API_INCLUDE_EXTENSION_H -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include/TH -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include/THC -isystem /usr/local/cuda/include -isystem /usr/include/python3.7m -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++14 -O3 -std=c++17 -c /home/ros/Downloads/pvcnn/modules/functional/src/bindings.cpp -o bindings.o
In file included from /home/ros/.local/lib/python3.7/site-packages/torch/include/pybind11/pytypes.h:12:0,
from /home/ros/.local/lib/python3.7/site-packages/torch/include/pybind11/cast.h:13,
from /home/ros/.local/lib/python3.7/site-packages/torch/include/pybind11/attr.h:13,
from /home/ros/.local/lib/python3.7/site-packages/torch/include/pybind11/pybind11.h:44,
from /home/ros/Downloads/pvcnn/modules/functional/src/bindings.cpp:1:
/home/ros/.local/lib/python3.7/site-packages/torch/include/pybind11/detail/common.h:112:20: fatal error: Python.h: No such file or directory
compilation terminated.
[2/14] c++ -MMD -MF trilinear_devox.o.d -DTORCH_EXTENSION_NAME=pvcnn_backend -DTORCH_API_INCLUDE_EXTENSION_H -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include/TH -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include/THC -isystem /usr/local/cuda/include -isystem /usr/include/python3.7m -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++14 -O3 -std=c++17 -c /home/ros/Downloads/pvcnn/modules/functional/src/interpolate/trilinear_devox.cpp -o trilinear_devox.o
FAILED: trilinear_devox.o
c++ -MMD -MF trilinear_devox.o.d -DTORCH_EXTENSION_NAME=pvcnn_backend -DTORCH_API_INCLUDE_EXTENSION_H -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include/TH -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include/THC -isystem /usr/local/cuda/include -isystem /usr/include/python3.7m -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++14 -O3 -std=c++17 -c /home/ros/Downloads/pvcnn/modules/functional/src/interpolate/trilinear_devox.cpp -o trilinear_devox.o
In file included from /home/ros/.local/lib/python3.7/site-packages/torch/include/torch/csrc/Device.h:3:0,
from /home/ros/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/python.h:8,
from /home/ros/.local/lib/python3.7/site-packages/torch/include/torch/extension.h:6,
from /home/ros/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/torch.h:6,
from /home/ros/Downloads/pvcnn/modules/functional/src/interpolate/trilinear_devox.hpp:4,
from /home/ros/Downloads/pvcnn/modules/functional/src/interpolate/trilinear_devox.cpp:1:
/home/ros/.local/lib/python3.7/site-packages/torch/include/torch/csrc/python_headers.h:9:20: fatal error: Python.h: No such file or directory
compilation terminated.
[3/14] c++ -MMD -MF neighbor_interpolate.o.d -DTORCH_EXTENSION_NAME=pvcnn_backend -DTORCH_API_INCLUDE_EXTENSION_H -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include/TH -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include/THC -isystem /usr/local/cuda/include -isystem /usr/include/python3.7m -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++14 -O3 -std=c++17 -c /home/ros/Downloads/pvcnn/modules/functional/src/interpolate/neighbor_interpolate.cpp -o neighbor_interpolate.o
FAILED: neighbor_interpolate.o
c++ -MMD -MF neighbor_interpolate.o.d -DTORCH_EXTENSION_NAME=pvcnn_backend -DTORCH_API_INCLUDE_EXTENSION_H -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include/TH -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include/THC -isystem /usr/local/cuda/include -isystem /usr/include/python3.7m -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++14 -O3 -std=c++17 -c /home/ros/Downloads/pvcnn/modules/functional/src/interpolate/neighbor_interpolate.cpp -o neighbor_interpolate.o
In file included from /home/ros/.local/lib/python3.7/site-packages/torch/include/torch/csrc/Device.h:3:0,
from /home/ros/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/python.h:8,
from /home/ros/.local/lib/python3.7/site-packages/torch/include/torch/extension.h:6,
from /home/ros/Downloads/pvcnn/modules/functional/src/interpolate/neighbor_interpolate.hpp:4,
from /home/ros/Downloads/pvcnn/modules/functional/src/interpolate/neighbor_interpolate.cpp:1:
/home/ros/.local/lib/python3.7/site-packages/torch/include/torch/csrc/python_headers.h:9:20: fatal error: Python.h: No such file or directory
compilation terminated.
[4/14] c++ -MMD -MF grouping.o.d -DTORCH_EXTENSION_NAME=pvcnn_backend -DTORCH_API_INCLUDE_EXTENSION_H -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include/TH -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include/THC -isystem /usr/local/cuda/include -isystem /usr/include/python3.7m -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++14 -O3 -std=c++17 -c /home/ros/Downloads/pvcnn/modules/functional/src/grouping/grouping.cpp -o grouping.o
FAILED: grouping.o
c++ -MMD -MF grouping.o.d -DTORCH_EXTENSION_NAME=pvcnn_backend -DTORCH_API_INCLUDE_EXTENSION_H -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include/TH -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include/THC -isystem /usr/local/cuda/include -isystem /usr/include/python3.7m -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++14 -O3 -std=c++17 -c /home/ros/Downloads/pvcnn/modules/functional/src/grouping/grouping.cpp -o grouping.o
In file included from /home/ros/.local/lib/python3.7/site-packages/torch/include/torch/csrc/Device.h:3:0,
from /home/ros/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/python.h:8,
from /home/ros/.local/lib/python3.7/site-packages/torch/include/torch/extension.h:6,
from /home/ros/Downloads/pvcnn/modules/functional/src/grouping/grouping.hpp:4,
from /home/ros/Downloads/pvcnn/modules/functional/src/grouping/grouping.cpp:1:
/home/ros/.local/lib/python3.7/site-packages/torch/include/torch/csrc/python_headers.h:9:20: fatal error: Python.h: No such file or directory
compilation terminated.
[5/14] c++ -MMD -MF ball_query.o.d -DTORCH_EXTENSION_NAME=pvcnn_backend -DTORCH_API_INCLUDE_EXTENSION_H -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include/TH -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include/THC -isystem /usr/local/cuda/include -isystem /usr/include/python3.7m -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++14 -O3 -std=c++17 -c /home/ros/Downloads/pvcnn/modules/functional/src/ball_query/ball_query.cpp -o ball_query.o
FAILED: ball_query.o
c++ -MMD -MF ball_query.o.d -DTORCH_EXTENSION_NAME=pvcnn_backend -DTORCH_API_INCLUDE_EXTENSION_H -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include/TH -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include/THC -isystem /usr/local/cuda/include -isystem /usr/include/python3.7m -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++14 -O3 -std=c++17 -c /home/ros/Downloads/pvcnn/modules/functional/src/ball_query/ball_query.cpp -o ball_query.o
In file included from /home/ros/.local/lib/python3.7/site-packages/torch/include/torch/csrc/Device.h:3:0,
from /home/ros/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/python.h:8,
from /home/ros/.local/lib/python3.7/site-packages/torch/include/torch/extension.h:6,
from /home/ros/Downloads/pvcnn/modules/functional/src/ball_query/ball_query.hpp:4,
from /home/ros/Downloads/pvcnn/modules/functional/src/ball_query/ball_query.cpp:1:
/home/ros/.local/lib/python3.7/site-packages/torch/include/torch/csrc/python_headers.h:9:20: fatal error: Python.h: No such file or directory
compilation terminated.
[6/14] /usr/local/cuda/bin/nvcc -DTORCH_EXTENSION_NAME=pvcnn_backend -DTORCH_API_INCLUDE_EXTENSION_H -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include/TH -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include/THC -isystem /usr/local/cuda/include -isystem /usr/include/python3.7m -D_GLIBCXX_USE_CXX11_ABI=0 -D__CUDA_NO_HALF_OPERATORS
-D__CUDA_NO_HALF_CONVERSIONS
-D__CUDA_NO_HALF2_OPERATORS
--expt-relaxed-constexpr -gencode=arch=compute_37,code=sm_37 --compiler-options '-fPIC' -std=c++14 -c /home/ros/Downloads/pvcnn/modules/functional/src/ball_query/ball_query.cu -o ball_query.cuda.o
[7/14] /usr/local/cuda/bin/nvcc -DTORCH_EXTENSION_NAME=pvcnn_backend -DTORCH_API_INCLUDE_EXTENSION_H -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include/TH -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include/THC -isystem /usr/local/cuda/include -isystem /usr/include/python3.7m -D_GLIBCXX_USE_CXX11_ABI=0 -D__CUDA_NO_HALF_OPERATORS
-D__CUDA_NO_HALF_CONVERSIONS
-D__CUDA_NO_HALF2_OPERATORS
--expt-relaxed-constexpr -gencode=arch=compute_37,code=sm_37 --compiler-options '-fPIC' -std=c++14 -c /home/ros/Downloads/pvcnn/modules/functional/src/interpolate/neighbor_interpolate.cu -o neighbor_interpolate.cuda.o
[8/14] /usr/local/cuda/bin/nvcc -DTORCH_EXTENSION_NAME=pvcnn_backend -DTORCH_API_INCLUDE_EXTENSION_H -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include/TH -isystem /home/ros/.local/lib/python3.7/site-packages/torch/include/THC -isystem /usr/local/cuda/include -isystem /usr/include/python3.7m -D_GLIBCXX_USE_CXX11_ABI=0 -D__CUDA_NO_HALF_OPERATORS
-D__CUDA_NO_HALF_CONVERSIONS
-D__CUDA_NO_HALF2_OPERATORS
--expt-relaxed-constexpr -gencode=arch=compute_37,code=sm_37 --compiler-options '-fPIC' -std=c++14 -c /home/ros/Downloads/pvcnn/modules/functional/src/grouping/grouping.cu -o grouping.cuda.o
ninja: build stopped: subcommand failed.

ImportError: No module named '_pvcnn_backend'

ros@rosmachine:~/Downloads/pvcnn$ python3 train.py configs/kitti/frustum/pvcnne.py --devices 0 --evaluate --configs.evaluate.best_checkpoint_path /home/ros/Downloads/kitti.frustum.pvcnne.pth.tar --configs.evaluate.num_tests 20
==> loading configs from ['configs/kitti/frustum/pvcnne.py']
Traceback (most recent call last):
File "train.py", line 266, in
main()
File "train.py", line 79, in main
configs = prepare()
File "train.py", line 24, in prepare
configs.update_from_modules(*args.configs)
File "/home/ros/Downloads/pvcnn/utils/config.py", line 113, in update_from_modules
importlib.import_module(module)
File "/usr/lib/python3.7/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1006, in _gcd_import
File "", line 983, in _find_and_load
File "", line 953, in _find_and_load_unlocked
File "", line 219, in _call_with_frames_removed
File "", line 1006, in _gcd_import
File "", line 983, in _find_and_load
File "", line 967, in _find_and_load_unlocked
File "", line 677, in _load_unlocked
File "", line 728, in exec_module
File "", line 219, in _call_with_frames_removed
File "/home/ros/Downloads/pvcnn/configs/kitti/frustum/init.py", line 7, in
from meters.kitti import MeterFrustumKitti
File "/home/ros/Downloads/pvcnn/meters/kitti/init.py", line 1, in
from meters.kitti.frustum import MeterFrustumKitti
File "/home/ros/Downloads/pvcnn/meters/kitti/frustum.py", line 4, in
from modules.frustum import get_box_corners_3d
File "/home/ros/Downloads/pvcnn/modules/init.py", line 1, in
from modules.ball_query import BallQuery
File "/home/ros/Downloads/pvcnn/modules/ball_query.py", line 4, in
import modules.functional as F
File "/home/ros/Downloads/pvcnn/modules/functional/init.py", line 1, in
from modules.functional.ball_query import ball_query
File "/home/ros/Downloads/pvcnn/modules/functional/ball_query.py", line 3, in
from modules.functional.backend import _backend
File "/home/ros/Downloads/pvcnn/modules/functional/backend.py", line 8, in
sources=[os.path.join(_src_path,'src', f) for f in [
File "/home/ros/.local/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 898, in load
is_python_module)
File "/home/ros/.local/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1097, in _jit_compile
return _import_module_from_library(name, build_directory, is_python_module)
File "/home/ros/.local/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1418, in _import_module_from_library
file, path, description = imp.find_module(module_name, [path])
File "/usr/lib/python3.7/imp.py", line 296, in find_module
raise ImportError(_ERR_MSG.format(name), name=name)
ImportError: No module named '_pvcnn_backend'

Facing this issue while trying to do inference ,can anyone help me to solve this issue.

About the voxelization code

Hi, @synxlin , thanks for your excellent work and sharing! Now, I'm confused about:

  1. the voxelization code in /modules/voxelization.py:

    norm_coords = (norm_coords + 1) / 2.0

    if self.normalize = False, what does this line of code mean?why add 1 and devide 2.0?

  2. In addition, self.normalize seems to be equal to False in the available code

    blocks=self.blocks, in_channels=self.in_channels, with_se=True, normalize=False,
    while True in the paper.
    I'd like to know whether the normalization is essential or optionally.

Looking forward to your reply , and any answer benefits me a lot!
Best regards!

Where to get the appendix?

Thanks for sharing the code.
You mentioned in the paper that more detail of the experiments can be found in the appendix.
Where can I get the appendix?

Change Voxel Resolution

How can I increase the voxel resolution? For example, If I want to generate an 128x128x128 voxel, what should I do? Can I just increase the "voxel_resolution_multiplier" parameter?

Question about the accuracy on S3DIS

Hi synxlin,

Thanks for your contribution!

I tried to reproduce your results on S3DIS with default configurations, and there are some gaps between mine and yours.

version OA mIoU
PVCNN (release) 86.16 56.20
PVCNN (reproduce) 84.95 53.96
PVCNN++ (release) 87.17 58.43
PVCNN++ (reproduce) 85.54 55.90

I notice that you set a random seed, so is that reasonable? Should I modify the training parameters to get a better result? (The code I use was released before your commits on Jan 5, 2020)

Running with CPU only

Hi , this is possible to run the pre-trained model without CUDA ?
i want to generate the network graph to see the structure and the dimensions of the layer.
i just want to understand the inputs and dimensions.

Thanks

Two questions about the pvconv.py

Hi, Thank you for your good works!
When I look into the pvconv.py, I noticed that there is a parameter โ€˜with_seโ€™ which is set 'Fasle' defaultly and control the recall of class โ€˜SE3dโ€™. Can you tell me what a role does โ€˜SE3dโ€™ plays and when should we set the 'with_se' True?
Another, the voxel features and point features are fused by a plus operation, whicn can be seen from the codes below:

fused_features = voxel_features + self.point_features(features)

However, I think it is a natural idea to use a concatenation as the fusion manner. Could you tell me the practical or intuitive reasons to make such a choice?

test error.

Hi, authors,

After input the command python train.py --devices 0 --evaluate --configs.train.best_checkpoint_path /data/code11/pvcnn/trained_models/s3dis.pvcnn.area5.pth.tar, I got the following error :

(pytorch1.0) root@milton-ThinkCentre-M93p:/data/code11/pvcnn# python train.py --devices 0 --evaluate --configs.train.best_checkpoint_path /data/code11/pvcnn/trained_models/s3dis.pvcnn.area5.pth.tar
==> loading configs from ['/data/code11/pvcnn/trained_models/s3dis.pvcnn.area5.pth.tar']
Traceback (most recent call last):
  File "train.py", line 213, in <module>
    main()
  File "train.py", line 52, in main
    configs = prepare()
  File "train.py", line 24, in prepare
    configs.update_from_modules(*args.configs)
  File "/data/code11/pvcnn/utils/config.py", line 118, in update_from_modules
    importlib.import_module(module)
  File "/root/anaconda3/envs/pytorch1.0/lib/python3.6/importlib/__init__.py", line 121, in import_module
    raise TypeError(msg.format(name))
TypeError: the 'package' argument is required to perform a relative import for '.data.code11.pvcnn.trained_models.s3dis.pvcnn.area5.pth.tar'

Is there something wrong with the command I used or something wrong with the relative import?

THX!

The code can be speedup with pytorch grid_sample

Many thanks for releasing the code!

When I was trying the code I find one key function below can be effectively accelerated using pytorch functions

voxel_features = trilinear_devoxelize(voxel_features, voxel_coords, resolution)

import torch.nn.functional as F
def pytorch_grid_sample(self, voxel_features, coords, r):
    coords = (coords * 2 + 1.0) / r - 1.0
    coords = coords.permute(0, 2, 1).reshape(c.shape[0], 1, 1, -1, 3)
    coords = torch.flip(coords, dims=[-1])
    f = F.grid_sample(input=voxel_features, grid=coords,  padding_mode='border', align_corners=False)
    f = f.squeeze(dim=2).squeeze(dim=2)
    return f

pytorch_voxel_features = pytorch_grid_sample(voxel_features, voxel_coords, resolution)
pvcnn_voxel_features = trilinear_devoxelize(voxel_features, voxel_coords, resolution)

The maximum difference between pytorch_voxel_features and pvcnn_voxel_features is less than 1e-6, but the running time of pytorch_grid_sample is significantly reduced.

How can I get the same results in every training?

Hi, thank you for your impressive works!
I noticed that you set the cudnn.benchmark false,
cudnn.benchmark = False
and fixed the random seed:
seed = configs.seed
random.seed(seed)
np.random.seed(seed)
torch.manual_seed(seed)
I add another line:
torch.cuda.manual_seed_all(seed)

However, these counldn't keep the results same in every training. How can I get the same results in every training?

Point-cloud Dataset Query

I have started studying your paper recently and i was wondering is that possible to use a pointcloud dataset (a set of .pcd files) for training directly? I'm asking that, because your 3 datasets have been pre-processed. In other words, i don't know if it is possible to feed the Neural Network with .pcd files directly or should i modify the format of pcd files to a specific one?

KITTI

[this is no issue, just a question]

Thanks a lot for releasing your code!

I searched for the keyword kitti in your code, but there were 0 hits.

In your paper, you also trained and evaluated on KITTI.
Will you also release code to reproduce those experiments?

Again, thanks so much for contributing to the community by releasing your code!

OSError: Could not load shared object file: libllvmlite.so

Hi, every one! I encountered one problem about numba and libllvmlite.so when I execute "python train.py configs/shapenet/pvcnn/c1.py --devices 0,1", shown as follows:

File "/home/zx/Projects/pvcnn-master/evaluate/shapenet/eval.py", line 7, in
import numba
File "/home/zx/anaconda3/envs/pvcnn/lib/python3.7/site-packages/numba/init.py", line 15, in
from numba.core import config
File "/home/zx/anaconda3/envs/pvcnn/lib/python3.7/site-packages/numba/core/config.py", line 16, in
import llvmlite.binding as ll
File "/home/zx/anaconda3/envs/pvcnn/lib/python3.7/site-packages/llvmlite/binding/init.py", line 4, in
from .dylib import *
File "/home/zx/anaconda3/envs/pvcnn/lib/python3.7/site-packages/llvmlite/binding/dylib.py", line 3, in
from llvmlite.binding import ffi
File "/home/zx/anaconda3/envs/pvcnn/lib/python3.7/site-packages/llvmlite/binding/ffi.py", line 153, in
raise OSError("Could not load shared object file: {}".format(_lib_name))
OSError: Could not load shared object file: libllvmlite.so

And confusingly, when I import numba in the console command line, it seems works, shown as following figure.
ๅ›พ็‰‡

By the way, my environment configurations:
python 3.7
cuda 10.0
pytorch 1.3.1
numba 0.49.0
llvmlite 0.33.0rc1

Any suggestions and help will be appreciated a lot!
Or guys who train pvcnn successfully, could you share your environment configurations to me? I personally think that i couldn't install numba successfully.

Once again, thanks a lot!

voxel_features, voxel_coords = self.voxelization(features, coords)

Hi, @synxlin ! Thanks for your excellent work and sharing! I met the problem shown as follow:
voxel_features, voxel_coords = self.voxelization(features, coords)
voxel_features are zeros.

It seems _backend doesn't work. out in the following code are zeroes.

out, indices, counts = _backend.avg_voxelize_forward(features, coords, resolution)

Confusedly, the program doesn't raise any warning and error.
Also, I tried the solution in #27 (comment) and removed the /tmp/torch_extensions/_pvcnn_backend, however, it didin't work.

My environments are as follows:
pytorch 1.3.1
cuda 10.0
How to solve this problem? Any suggestion will be appreciated a lot!

Best regards!

''voxel_features'' ,output of self.voxelization(features, coords) are zeros

hi, I run as follows:
python train.py configs/shapenet/pvcnn/c0p25.py --device 2

and I found that in pvconv.py:
voxel_features, voxel_coords = self.voxelization(features, coords)
the voxel_features elements are alll zeros.

It seems that the _backend does not work, but the output format is right,
and backend is also build:
''Using /tmp/torch_extensions as PyTorch extensions root...
Detected CUDA files, patching ldflags
Emitting ninja build file /tmp/torch_extensions/_pvcnn_backend/build.ninja...
Building extension module _pvcnn_backend...
ninja: no work to do.
Loading extension module _pvcnn_backend...''

offset values while creating data for S3DIS Dataset

Hi @synxlin , Thanks for the amazing repo!

I have a question on the following line,

offsets = [('zero', 0.0), ('half', args.block_size / 2)]
,
I can see that there are two offset values for which the same file is iterated. This offset value shifts the minimum x, y, z with the respective values. I am unable to understand the implication of this on the training. If you could please point me in the right direction on this one. I am trying to use a custom dataset and trying to understand how to pick these offset values for the data.

Also, while inferencing on the new test data, should I create two files out of one file for two given offset values? And then merge the output of two files into a single file to get the final predictions?

Thank you!

About voxelization

Thanks for your work~
I'm puzzled about the result of voxelization. My questions are as follows:

  1. What is the point features {fk} ? Is it the corrdinates? or it can be like rgb information?
  2. What is the result of voxelization looks like? Is it in domain[0,1] or ..?

Looking for your reply, and best regards.

Cones Detection

Hey, thanks a lot for sharing your amazing work!
I came by this repo and it's paper through your Driverless Autonomous Team video on YouTube.
I just want to ask if there are any LiDAR opensource datasets for training a model for cones detection, or if you'd be kind enough to share the one you used.
Also, assuming i have the dataset, does training PVCNN on an xyzi point cloud require configuring certain parameters or will it work by default. Thanks a lot for your time and effort.

Testing the trained model problem

(edited my question)
Hi. I'm beginner of pytorch.

I'm trying to understand the code.

I finished training the model with kitti dataset without --evaluate option.

But, when I trained with --evaluate option to accurate evaluation, I got a segmentation fault.

Do I get any clues to solve it?

My command was 'python train.py configs/kitti/frustum/pvcnne.py --devices 0 --evaluate'

Thanks.

KITTI training

I installed all the required dependencies, plus ninja in Ubuntu 18.04 in my conda enviroment, using the commands:

pip install -r requirements.txt
conda install -c conda-forge ninja

But i get the error "subprocess.CalledProcessError: Command '['which', 'c++']' returned non-zero exit status 1." during training, has anyone faced this error?

i tried the following command:

python train.py configs/kitti/frustum/pvcnne.py --devices 0,1
and i got:

(pvcnn_env) george@inspiron:~/pvcnn$ python train.py configs/kitti/frustum/pvcnne.py --devices 0,1 ==> loading configs from ['configs/kitti/frustum/pvcnne.py'] Traceback (most recent call last): File "train.py", line 266, in <module> main() File "train.py", line 79, in main configs = prepare() File "train.py", line 24, in prepare configs.update_from_modules(*args.configs) File "/home/george/pvcnn/utils/config.py", line 113, in update_from_modules importlib.import_module(module) File "/home/george/anaconda3/envs/pvcnn_env/lib/python3.8/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1014, in _gcd_import File "<frozen importlib._bootstrap>", line 991, in _find_and_load File "<frozen importlib._bootstrap>", line 961, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "<frozen importlib._bootstrap>", line 1014, in _gcd_import File "<frozen importlib._bootstrap>", line 991, in _find_and_load File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 671, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 783, in exec_module File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "/home/george/pvcnn/configs/kitti/frustum/__init__.py", line 7, in <module> from meters.kitti import MeterFrustumKitti File "/home/george/pvcnn/meters/kitti/__init__.py", line 1, in <module> from meters.kitti.frustum import MeterFrustumKitti File "/home/george/pvcnn/meters/kitti/frustum.py", line 4, in <module> from modules.frustum import get_box_corners_3d File "/home/george/pvcnn/modules/__init__.py", line 1, in <module> from modules.ball_query import BallQuery File "/home/george/pvcnn/modules/ball_query.py", line 4, in <module> import modules.functional as F File "/home/george/pvcnn/modules/functional/__init__.py", line 1, in <module> from modules.functional.ball_query import ball_query File "/home/george/pvcnn/modules/functional/ball_query.py", line 3, in <module> from modules.functional.backend import _backend File "/home/george/pvcnn/modules/functional/backend.py", line 6, in <module> _backend = load(name='_pvcnn_backend', File "/home/george/anaconda3/envs/pvcnn_env/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 911, in load return _jit_compile( File "/home/george/anaconda3/envs/pvcnn_env/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1100, in _jit_compile _write_ninja_file_and_build_library( File "/home/george/anaconda3/envs/pvcnn_env/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1181, in _write_ninja_file_and_build_library check_compiler_abi_compatibility(compiler) File "/home/george/anaconda3/envs/pvcnn_env/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 216, in check_compiler_abi_compatibility if not check_compiler_ok_for_platform(compiler): File "/home/george/anaconda3/envs/pvcnn_env/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 192, in check_compiler_ok_for_platform which = subprocess.check_output(['which', compiler], stderr=subprocess.STDOUT) File "/home/george/anaconda3/envs/pvcnn_env/lib/python3.8/subprocess.py", line 411, in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, File "/home/george/anaconda3/envs/pvcnn_env/lib/python3.8/subprocess.py", line 512, in run raise CalledProcessError(retcode, process.args, subprocess.CalledProcessError: Command '['which', 'c++']' returned non-zero exit status 1.

S3DIS Algined Version

Thanks for sharing your code :)
By the way, I have a question though.
Your data processing code implies that you might use S3DIS dataset of aligned version right?
I see some projects use non-aligned version (standard one).
Then, is there any reason for using aligned version?

The Division strategy of your SPVCNN in Semantic Kitti?

Thank you for your great work.I have some questions about your newest work SPVCNN.
I'm wondering if you process the entire 100mx100mx10m input directly during training or do you need to pre-divide it like other networks (e.g. KPCONV will pre-divide a category balance area with a radius of 6m)?I tried to reproduce your work and found that applying MinkowskiNet directly to full episode training would be slow, so I'm curious what your strategy is!

Import C++ extensions issue

Solved by refer to link

hi, @zhijian-liu ,thanks for your sharing code, but when I run the command,it's log stop at the process of import the C++ extensions.

python train.py configs/kitti/frustum/pvcnne.py --devices 0 --evaluate --configs.evaluate.best_checkpoint_path kitti.frustum.pvcnne.pth.tar --configs.evaluate.num_tests [#measurements]
==> loading configs from ['configs/kitti/frustum/pvcnne.py']

I manually traced the stopped time is when it try to import C++extension modules in meters.kitti.frustum.py

import numpy as np
import torch

from modules.frustum import get_box_corners_3d

modules/ball_query.py

import torch
import torch.nn as nn

import modules.functional as F

modules/functional/__init__.py

from modules.functional.ball_query import ball_query

modules/functional/ball_query.py

from torch.autograd import Function

from modules.functional.backend import _backend

Finally,stop at _backend = load() in modules/functional/backend.py:

import os

from torch.utils.cpp_extension import load

_src_path = os.path.dirname(os.path.abspath(__file__))
_backend = load(name='_pvcnn_backend',
                extra_cflags=['-O3', '-std=c++17'],
                sources=[os.path.join(_src_path,'src', f) for f in [
                    'ball_query/ball_query.cpp',
                    'ball_query/ball_query.cu',
                    'grouping/grouping.cpp',
                    'grouping/grouping.cu',
                    'interpolate/neighbor_interpolate.cpp',
                    'interpolate/neighbor_interpolate.cu',
                    'interpolate/trilinear_devox.cpp',
                    'interpolate/trilinear_devox.cu',
                    'sampling/sampling.cpp',
                    'sampling/sampling.cu',
                    'voxelization/vox.cpp',
                    'voxelization/vox.cu',
                    'bindings.cpp',
                ]]
                )

__all__ = ['_backend']

If I click on keyboard ctrl + c, it lead to traceback as here:

Traceback (most recent call last):
  File "train.py", line 268, in <module>
    main()
  File "train.py", line 81, in main
    configs = prepare()
  File "train.py", line 25, in prepare
    configs.update_from_modules(*args.configs)
  File "/home/gz/Desktop/3DCVcode/segmentation/pvcnn/utils/config.py", line 113, in update_from_modules
    importlib.import_module(module)
  File "/home/gz/anaconda3/envs/pvc/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 961, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 848, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/gz/Desktop/3DCVcode/segmentation/pvcnn/configs/kitti/frustum/__init__.py", line 7, in <module>
    from meters.kitti import MeterFrustumKitti
  File "/home/gz/Desktop/3DCVcode/segmentation/pvcnn/meters/kitti/__init__.py", line 1, in <module>
    from meters.kitti.frustum import MeterFrustumKitti
  File "/home/gz/Desktop/3DCVcode/segmentation/pvcnn/meters/kitti/frustum.py", line 4, in <module>
    from modules.frustum import get_box_corners_3d
  File "/home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/__init__.py", line 1, in <module>
    from modules.ball_query import BallQuery
  File "/home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/ball_query.py", line 4, in <module>
    import modules.functional as F
  File "/home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/functional/__init__.py", line 1, in <module>
    from modules.functional.ball_query import ball_query
  File "/home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/functional/ball_query.py", line 3, in <module>
    from modules.functional.backend import _backend
  File "/home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/functional/backend.py", line 6, in <module>
    _backend = load(name='_pvcnn_backend',
  File "/home/gz/anaconda3/envs/pvc/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1079, in load
    return _jit_compile(
  File "/home/gz/anaconda3/envs/pvc/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1306, in _jit_compile
    baton.wait()
  File "/home/gz/anaconda3/envs/pvc/lib/python3.8/site-packages/torch/utils/file_baton.py", line 42, in wait
    time.sleep(self.wait_seconds)

Can't get your exp-result

Hi, sorry to bother, I got mIou 52% on S3DIS after running your code with default config. But It's still a big gap between ....

Testing Pretrained Models Error

thank you for the code!
but i got the error as follows when running
"python train.py configs/kitti/frustum/pvcnne.py --devices 0 --evaluate --configs.evaluate.best_checkpoint_path kitti.frustum.pvcnne.pth.tar --configs.evaluate.num_tests [#measurements]"

Error:
==> loading configs from ['configs/kitti/frustum/pvcnne.py']
Traceback (most recent call last):
File "train.py", line 266, in
main()
File "train.py", line 81, in main
configs.evaluate.fn(configs)
File "/root/jacky/pvcnn/evaluate/kitti/frustum/eval.py", line 85, in evaluate
if configs.evaluate.num_tests > 1:
TypeError: '>' not supported between instances of 'str' and 'int'

by the way, i'm confused about the "[#measurements]" at the end of code.
could you explain it ? thanks again.

Evaluate

i have used my 2D detector to generate the "*frustum.pickle" file and put it into the "/pvcnn/data/kitti/frustum/frustum_data/". Besides, the pvcnn.py was trained as your "ReadMeโ€œ.
But when i evaluate it throws the mistake as follows:
'''
/pvcnn# python train.py configs/kitti/frustum/pvcnne.py --devices 0 --evaluate
File "train.py", line 23
print(f'==> loading configs from {args.configs}')
^
SyntaxError: invalid syntax
'''
Could you help me for that? And if i run "python train.py configs/kitti/frustum/pvcnne.py --devices 0 --evaluate" directly, whether the model will be evaluated by my "frustum_carpedcyc_val_rgb_detection.pickle"?

These are very imporant and urgent for me๏ผŒlooking forward to your apply. Thanks a lot again!

Custom dataset

I am interested to use this for a custom dataset collected using a 3D camera (ex- Intel Real sense) can you please point me resources to build dataset and train the same.

Results visualization

i'm sorry for consulting you again and angin!
Could you tell me how can i visualize the 3D detection results? or how can i change your code to realize that?
Thank you very much!

The pretrained models can't be found.

Hi, sorry to bother. It seems that the links to the pages of pretrained models cannot be found. Is it possible for you to provide the pretrained models? Thanks a lot.

NaN or Inf found in input tensor

Hi!
Thanks for your great work and for releasing your code!
I'm trying to run the S3DIS model on an outdoors dataset that contains one more feature and four less classes than S3DIS (i.e. 7 and 9 respectively). However, when running either pvcnn or pvcnn2, I get a warning in the terminal NaN or Inf found in input tensor after 5-120 iterations. The accuracy reported is also very low (like .08%) and everything seems to get sent to the largest class (very unbalanced dataset, but that will be handled later). This does not happen when running your Pointnet implementation.

I have looked through the h5-files (and the .npy-files) and none of them contain neither NaN or Inf. I have changed the number of extra features and dataset classes everywhere I have found them.
Any suggestions on where else to look or what could cause the issue? Could it have to do with the conversion from .npy-files to h5-files? Or does it have to do with the voxelisation somehow, perhaps my voxels are too small or big since the scale of my data is different than S3DIS.

3D prediction without groundtruth

Hi, guys, now i have a raw dataset without groundtruth, and i just implement the 3D prediction and save the result with prediction-box.
Could you tell me how to change the conde to achieve that? Thanks a lot๏ผ

The training code keeps running for a long time

Hi synxlin,

Thanks for the repo!

I have prepared the s3dis data and running the following line

python train.py configs/s3dis/pvcnn/area5/c1.py --devices 0

After I run this line, my code keeps running for a long time(been running for the last 7 hours) and shows no output. It seems like it is stuck somewhere cause doing nvidia-smi shows no GPU utilization.

My command line looks like this:

(pvcnn) datumx@pop-os:~/data_science_experiments/3D_data/pvcnn$ python train.py configs/s3dis/pvcnn/area5/c1.py --devices 0

==> loading configs from ['configs/s3dis/pvcnn/area5/c1.py']

I would be grateful if someone could point me in the right direction.

Error building extension '_pvcnn_backend'

Hi, @synxlin,Thanks for your sharing code.
But I meet a error building extension '_pvcnn_backend'
My environment is

ubuntu20.04
cuda11.1
cudnn8.0.4
torch1.8.1

Hi, @digital-idiot ,it seems that I meet the similary problem as link,but the different is pvcnn do not have an setup.py to modify,so what should I do to make it build successful?
The traceback log is shown as below,seems to throw by the line

torch/include/ATen/cuda/CUDAContext.h:5:10: fatal error: cuda_runtime_api.h: No such file or directory     5 | #include <cuda_runtime_api.h>       |          ^~~~~~~~~~~~~~~~~~~~
Exception has occurred: RuntimeError       (note: full exception trace is shown but execution is paused at: _run_module_as_main)
Error building extension '_pvcnn_backend': [1/13] :/usr/local/cuda/bin/nvcc --generate-dependencies-with-compile --dependency-output ball_query.cuda.o.d -DTORCH_EXTENSION_NAME=_pvcnn_backend -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_gcc\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1011\" -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/TH -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/THC -isystem :/usr/local/cuda/include -isystem /home/gz/anaconda3/envs/pc/include/python3.8 -D_GLIBCXX_USE_CXX11_ABI=0 -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr -gencode=arch=compute_86,code=compute_86 -gencode=arch=compute_86,code=sm_86 --compiler-options '-fPIC' -std=c++14 -c /home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/functional/src/ball_query/ball_query.cu -o ball_query.cuda.o 
FAILED: ball_query.cuda.o 
:/usr/local/cuda/bin/nvcc --generate-dependencies-with-compile --dependency-output ball_query.cuda.o.d -DTORCH_EXTENSION_NAME=_pvcnn_backend -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_gcc\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1011\" -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/TH -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/THC -isystem :/usr/local/cuda/include -isystem /home/gz/anaconda3/envs/pc/include/python3.8 -D_GLIBCXX_USE_CXX11_ABI=0 -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr -gencode=arch=compute_86,code=compute_86 -gencode=arch=compute_86,code=sm_86 --compiler-options '-fPIC' -std=c++14 -c /home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/functional/src/ball_query/ball_query.cu -o ball_query.cuda.o 
/bin/sh: 1: :/usr/local/cuda/bin/nvcc: not found
[2/13] :/usr/local/cuda/bin/nvcc --generate-dependencies-with-compile --dependency-output grouping.cuda.o.d -DTORCH_EXTENSION_NAME=_pvcnn_backend -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_gcc\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1011\" -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/TH -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/THC -isystem :/usr/local/cuda/include -isystem /home/gz/anaconda3/envs/pc/include/python3.8 -D_GLIBCXX_USE_CXX11_ABI=0 -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr -gencode=arch=compute_86,code=compute_86 -gencode=arch=compute_86,code=sm_86 --compiler-options '-fPIC' -std=c++14 -c /home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/functional/src/grouping/grouping.cu -o grouping.cuda.o 
FAILED: grouping.cuda.o 
:/usr/local/cuda/bin/nvcc --generate-dependencies-with-compile --dependency-output grouping.cuda.o.d -DTORCH_EXTENSION_NAME=_pvcnn_backend -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_gcc\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1011\" -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/TH -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/THC -isystem :/usr/local/cuda/include -isystem /home/gz/anaconda3/envs/pc/include/python3.8 -D_GLIBCXX_USE_CXX11_ABI=0 -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr -gencode=arch=compute_86,code=compute_86 -gencode=arch=compute_86,code=sm_86 --compiler-options '-fPIC' -std=c++14 -c /home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/functional/src/grouping/grouping.cu -o grouping.cuda.o 
/bin/sh: 1: :/usr/local/cuda/bin/nvcc: not found
[3/13] :/usr/local/cuda/bin/nvcc --generate-dependencies-with-compile --dependency-output neighbor_interpolate.cuda.o.d -DTORCH_EXTENSION_NAME=_pvcnn_backend -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_gcc\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1011\" -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/TH -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/THC -isystem :/usr/local/cuda/include -isystem /home/gz/anaconda3/envs/pc/include/python3.8 -D_GLIBCXX_USE_CXX11_ABI=0 -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr -gencode=arch=compute_86,code=compute_86 -gencode=arch=compute_86,code=sm_86 --compiler-options '-fPIC' -std=c++14 -c /home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/functional/src/interpolate/neighbor_interpolate.cu -o neighbor_interpolate.cuda.o 
FAILED: neighbor_interpolate.cuda.o 
:/usr/local/cuda/bin/nvcc --generate-dependencies-with-compile --dependency-output neighbor_interpolate.cuda.o.d -DTORCH_EXTENSION_NAME=_pvcnn_backend -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_gcc\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1011\" -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/TH -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/THC -isystem :/usr/local/cuda/include -isystem /home/gz/anaconda3/envs/pc/include/python3.8 -D_GLIBCXX_USE_CXX11_ABI=0 -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr -gencode=arch=compute_86,code=compute_86 -gencode=arch=compute_86,code=sm_86 --compiler-options '-fPIC' -std=c++14 -c /home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/functional/src/interpolate/neighbor_interpolate.cu -o neighbor_interpolate.cuda.o 
/bin/sh: 1: :/usr/local/cuda/bin/nvcc: not found
[4/13] :/usr/local/cuda/bin/nvcc --generate-dependencies-with-compile --dependency-output trilinear_devox.cuda.o.d -DTORCH_EXTENSION_NAME=_pvcnn_backend -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_gcc\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1011\" -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/TH -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/THC -isystem :/usr/local/cuda/include -isystem /home/gz/anaconda3/envs/pc/include/python3.8 -D_GLIBCXX_USE_CXX11_ABI=0 -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr -gencode=arch=compute_86,code=compute_86 -gencode=arch=compute_86,code=sm_86 --compiler-options '-fPIC' -std=c++14 -c /home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/functional/src/interpolate/trilinear_devox.cu -o trilinear_devox.cuda.o 
FAILED: trilinear_devox.cuda.o 
:/usr/local/cuda/bin/nvcc --generate-dependencies-with-compile --dependency-output trilinear_devox.cuda.o.d -DTORCH_EXTENSION_NAME=_pvcnn_backend -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_gcc\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1011\" -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/TH -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/THC -isystem :/usr/local/cuda/include -isystem /home/gz/anaconda3/envs/pc/include/python3.8 -D_GLIBCXX_USE_CXX11_ABI=0 -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr -gencode=arch=compute_86,code=compute_86 -gencode=arch=compute_86,code=sm_86 --compiler-options '-fPIC' -std=c++14 -c /home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/functional/src/interpolate/trilinear_devox.cu -o trilinear_devox.cuda.o 
/bin/sh: 1: :/usr/local/cuda/bin/nvcc: not found
[5/13] :/usr/local/cuda/bin/nvcc --generate-dependencies-with-compile --dependency-output sampling.cuda.o.d -DTORCH_EXTENSION_NAME=_pvcnn_backend -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_gcc\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1011\" -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/TH -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/THC -isystem :/usr/local/cuda/include -isystem /home/gz/anaconda3/envs/pc/include/python3.8 -D_GLIBCXX_USE_CXX11_ABI=0 -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr -gencode=arch=compute_86,code=compute_86 -gencode=arch=compute_86,code=sm_86 --compiler-options '-fPIC' -std=c++14 -c /home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/functional/src/sampling/sampling.cu -o sampling.cuda.o 
FAILED: sampling.cuda.o 
:/usr/local/cuda/bin/nvcc --generate-dependencies-with-compile --dependency-output sampling.cuda.o.d -DTORCH_EXTENSION_NAME=_pvcnn_backend -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_gcc\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1011\" -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/TH -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/THC -isystem :/usr/local/cuda/include -isystem /home/gz/anaconda3/envs/pc/include/python3.8 -D_GLIBCXX_USE_CXX11_ABI=0 -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr -gencode=arch=compute_86,code=compute_86 -gencode=arch=compute_86,code=sm_86 --compiler-options '-fPIC' -std=c++14 -c /home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/functional/src/sampling/sampling.cu -o sampling.cuda.o 
/bin/sh: 1: :/usr/local/cuda/bin/nvcc: not found
[6/13] :/usr/local/cuda/bin/nvcc --generate-dependencies-with-compile --dependency-output vox.cuda.o.d -DTORCH_EXTENSION_NAME=_pvcnn_backend -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_gcc\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1011\" -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/TH -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/THC -isystem :/usr/local/cuda/include -isystem /home/gz/anaconda3/envs/pc/include/python3.8 -D_GLIBCXX_USE_CXX11_ABI=0 -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr -gencode=arch=compute_86,code=compute_86 -gencode=arch=compute_86,code=sm_86 --compiler-options '-fPIC' -std=c++14 -c /home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/functional/src/voxelization/vox.cu -o vox.cuda.o 
FAILED: vox.cuda.o 
:/usr/local/cuda/bin/nvcc --generate-dependencies-with-compile --dependency-output vox.cuda.o.d -DTORCH_EXTENSION_NAME=_pvcnn_backend -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_gcc\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1011\" -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/TH -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/THC -isystem :/usr/local/cuda/include -isystem /home/gz/anaconda3/envs/pc/include/python3.8 -D_GLIBCXX_USE_CXX11_ABI=0 -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr -gencode=arch=compute_86,code=compute_86 -gencode=arch=compute_86,code=sm_86 --compiler-options '-fPIC' -std=c++14 -c /home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/functional/src/voxelization/vox.cu -o vox.cuda.o 
/bin/sh: 1: :/usr/local/cuda/bin/nvcc: not found
[7/13] c++ -MMD -MF grouping.o.d -DTORCH_EXTENSION_NAME=_pvcnn_backend -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_gcc\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1011\" -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/TH -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/THC -isystem :/usr/local/cuda/include -isystem /home/gz/anaconda3/envs/pc/include/python3.8 -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++14 -O3 -std=c++17 -c /home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/functional/src/grouping/grouping.cpp -o grouping.o 
FAILED: grouping.o 
c++ -MMD -MF grouping.o.d -DTORCH_EXTENSION_NAME=_pvcnn_backend -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_gcc\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1011\" -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/TH -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/THC -isystem :/usr/local/cuda/include -isystem /home/gz/anaconda3/envs/pc/include/python3.8 -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++14 -O3 -std=c++17 -c /home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/functional/src/grouping/grouping.cpp -o grouping.o 
In file included from /home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/functional/src/grouping/../utils.hpp:4,
                 from /home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/functional/src/grouping/grouping.cpp:4:
/home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/ATen/cuda/CUDAContext.h:5:10: fatal error: cuda_runtime_api.h: No such file or directory
    5 | #include <cuda_runtime_api.h>
      |          ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
[8/13] c++ -MMD -MF neighbor_interpolate.o.d -DTORCH_EXTENSION_NAME=_pvcnn_backend -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_gcc\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1011\" -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/TH -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/THC -isystem :/usr/local/cuda/include -isystem /home/gz/anaconda3/envs/pc/include/python3.8 -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++14 -O3 -std=c++17 -c /home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/functional/src/interpolate/neighbor_interpolate.cpp -o neighbor_interpolate.o 
FAILED: neighbor_interpolate.o 
c++ -MMD -MF neighbor_interpolate.o.d -DTORCH_EXTENSION_NAME=_pvcnn_backend -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_gcc\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1011\" -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/TH -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/THC -isystem :/usr/local/cuda/include -isystem /home/gz/anaconda3/envs/pc/include/python3.8 -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++14 -O3 -std=c++17 -c /home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/functional/src/interpolate/neighbor_interpolate.cpp -o neighbor_interpolate.o 
In file included from /home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/functional/src/interpolate/../utils.hpp:4,
                 from /home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/functional/src/interpolate/neighbor_interpolate.cpp:4:
/home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/ATen/cuda/CUDAContext.h:5:10: fatal error: cuda_runtime_api.h: No such file or directory
    5 | #include <cuda_runtime_api.h>
      |          ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
[9/13] c++ -MMD -MF trilinear_devox.o.d -DTORCH_EXTENSION_NAME=_pvcnn_backend -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_gcc\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1011\" -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/TH -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/THC -isystem :/usr/local/cuda/include -isystem /home/gz/anaconda3/envs/pc/include/python3.8 -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++14 -O3 -std=c++17 -c /home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/functional/src/interpolate/trilinear_devox.cpp -o trilinear_devox.o 
FAILED: trilinear_devox.o 
c++ -MMD -MF trilinear_devox.o.d -DTORCH_EXTENSION_NAME=_pvcnn_backend -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_gcc\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1011\" -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/TH -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/THC -isystem :/usr/local/cuda/include -isystem /home/gz/anaconda3/envs/pc/include/python3.8 -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++14 -O3 -std=c++17 -c /home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/functional/src/interpolate/trilinear_devox.cpp -o trilinear_devox.o 
In file included from /home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/functional/src/interpolate/../utils.hpp:4,
                 from /home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/functional/src/interpolate/trilinear_devox.cpp:4:
/home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/ATen/cuda/CUDAContext.h:5:10: fatal error: cuda_runtime_api.h: No such file or directory
    5 | #include <cuda_runtime_api.h>
      |          ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
[10/13] c++ -MMD -MF vox.o.d -DTORCH_EXTENSION_NAME=_pvcnn_backend -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_gcc\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1011\" -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/TH -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/THC -isystem :/usr/local/cuda/include -isystem /home/gz/anaconda3/envs/pc/include/python3.8 -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++14 -O3 -std=c++17 -c /home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/functional/src/voxelization/vox.cpp -o vox.o 
FAILED: vox.o 
c++ -MMD -MF vox.o.d -DTORCH_EXTENSION_NAME=_pvcnn_backend -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_gcc\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1011\" -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/TH -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/THC -isystem :/usr/local/cuda/include -isystem /home/gz/anaconda3/envs/pc/include/python3.8 -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++14 -O3 -std=c++17 -c /home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/functional/src/voxelization/vox.cpp -o vox.o 
In file included from /home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/functional/src/voxelization/../utils.hpp:4,
                 from /home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/functional/src/voxelization/vox.cpp:4:
/home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/ATen/cuda/CUDAContext.h:5:10: fatal error: cuda_runtime_api.h: No such file or directory
    5 | #include <cuda_runtime_api.h>
      |          ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
[11/13] c++ -MMD -MF sampling.o.d -DTORCH_EXTENSION_NAME=_pvcnn_backend -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_gcc\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1011\" -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/TH -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/THC -isystem :/usr/local/cuda/include -isystem /home/gz/anaconda3/envs/pc/include/python3.8 -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++14 -O3 -std=c++17 -c /home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/functional/src/sampling/sampling.cpp -o sampling.o 
FAILED: sampling.o 
c++ -MMD -MF sampling.o.d -DTORCH_EXTENSION_NAME=_pvcnn_backend -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_gcc\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1011\" -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/TH -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/THC -isystem :/usr/local/cuda/include -isystem /home/gz/anaconda3/envs/pc/include/python3.8 -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++14 -O3 -std=c++17 -c /home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/functional/src/sampling/sampling.cpp -o sampling.o 
In file included from /home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/functional/src/sampling/../utils.hpp:4,
                 from /home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/functional/src/sampling/sampling.cpp:4:
/home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/ATen/cuda/CUDAContext.h:5:10: fatal error: cuda_runtime_api.h: No such file or directory
    5 | #include <cuda_runtime_api.h>
      |          ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
[12/13] c++ -MMD -MF ball_query.o.d -DTORCH_EXTENSION_NAME=_pvcnn_backend -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_gcc\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1011\" -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/TH -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/THC -isystem :/usr/local/cuda/include -isystem /home/gz/anaconda3/envs/pc/include/python3.8 -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++14 -O3 -std=c++17 -c /home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/functional/src/ball_query/ball_query.cpp -o ball_query.o 
FAILED: ball_query.o 
c++ -MMD -MF ball_query.o.d -DTORCH_EXTENSION_NAME=_pvcnn_backend -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_gcc\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1011\" -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/TH -isystem /home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/THC -isystem :/usr/local/cuda/include -isystem /home/gz/anaconda3/envs/pc/include/python3.8 -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++14 -O3 -std=c++17 -c /home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/functional/src/ball_query/ball_query.cpp -o ball_query.o 
In file included from /home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/functional/src/ball_query/../utils.hpp:4,
                 from /home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/functional/src/ball_query/ball_query.cpp:4:
/home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/include/ATen/cuda/CUDAContext.h:5:10: fatal error: cuda_runtime_api.h: No such file or directory
    5 | #include <cuda_runtime_api.h>
      |          ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
ninja: build stopped: subcommand failed.
  File "/home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1668, in _run_ninja_build
    subprocess.run(
  File "/home/gz/anaconda3/envs/pc/lib/python3.8/subprocess.py", line 512, in run
    raise CalledProcessError(retcode, process.args,

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

  File "/home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1684, in _run_ninja_build
    raise RuntimeError(message) from e
  File "/home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1405, in _write_ninja_file_and_build_library
    _run_ninja_build(
  File "/home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1293, in _jit_compile
    _write_ninja_file_and_build_library(
  File "/home/gz/anaconda3/envs/pc/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1079, in load
    return _jit_compile(
  File "/home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/functional/backend.py", line 6, in <module>
    _backend = load(name='_pvcnn_backend',
  File "/home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/functional/ball_query.py", line 3, in <module>
    from modules.functional.backend import _backend
  File "/home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/functional/__init__.py", line 1, in <module>
    from modules.functional.ball_query import ball_query
  File "/home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/ball_query.py", line 4, in <module>
    import modules.functional as F
  File "/home/gz/Desktop/3DCVcode/segmentation/pvcnn/modules/__init__.py", line 1, in <module>
    from modules.ball_query import BallQuery
  File "/home/gz/Desktop/3DCVcode/segmentation/pvcnn/meters/kitti/frustum.py", line 4, in <module>
    from modules.frustum import get_box_corners_3d
  File "/home/gz/Desktop/3DCVcode/segmentation/pvcnn/meters/kitti/__init__.py", line 1, in <module>
    from meters.kitti.frustum import MeterFrustumKitti
  File "/home/gz/Desktop/3DCVcode/segmentation/pvcnn/configs/kitti/frustum/__init__.py", line 7, in <module>
    from meters.kitti import MeterFrustumKitti
  File "/home/gz/anaconda3/envs/pc/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "/home/gz/Desktop/3DCVcode/segmentation/pvcnn/utils/config.py", line 113, in update_from_modules
    importlib.import_module(module)
  File "/home/gz/Desktop/3DCVcode/segmentation/pvcnn/train.py", line 26, in prepare
    configs.update_from_modules(*args.configs)
  File "/home/gz/Desktop/3DCVcode/segmentation/pvcnn/train.py", line 82, in main
    configs = prepare()
  File "/home/gz/Desktop/3DCVcode/segmentation/pvcnn/train.py", line 269, in <module>
    main()
  File "/home/gz/anaconda3/envs/pc/lib/python3.8/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/home/gz/anaconda3/envs/pc/lib/python3.8/runpy.py", line 97, in _run_module_code
    _run_code(code, mod_globals, init_globals,
  File "/home/gz/anaconda3/envs/pc/lib/python3.8/runpy.py", line 265, in run_path
    return _run_module_code(code, init_globals, run_name,
  File "/home/gz/anaconda3/envs/pc/lib/python3.8/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/home/gz/anaconda3/envs/pc/lib/python3.8/runpy.py", line 194, in _run_module_as_main (Current frame)
    return _run_code(code, main_globals, None,

Test

How can i test the trained model on my own data, which partly was prosessed to frustum-data by 2D detectors like "frustum_carpedcyc_rgb_detection.pickle"?

Thank you!

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.