CVMI-Lab / PAConv

(CVPR 2021) PAConv: Position Adaptive Convolution with Dynamic Kernel Assembling on Point Clouds
Apache License 2.0
287 stars 40 forks source link

When cd scene_seg,sh tool/train.sh s3dis pointnet2_paconv_cuda.I encountered this problem:RuntimeError: Ninja is required to load C++ extensions #48

Open BaymaxOolong opened 11 months ago

BaymaxOolong commented 11 months ago

Traceback (most recent call last): File "tool/train.py", line 19, in from model.pointnet2.paconv import PAConv File "/202221623116/PAConv/scene_seg/model/pointnet2/paconv.py", line 9, in from lib.paconv_lib.functional import assign_score_withk as assign_score_cuda File "/202221623116/PAConv/scene_seg/lib/paconv_lib/functional.py", line 1, in from . import functions File "/202221623116/PAConv/scene_seg/lib/paconv_lib/functions/init.py", line 1, in from .assignscore import * File "/202221623116/PAConv/scene_seg/lib/paconv_lib/functions/assignscore.py", line 4, in from .. import src File "/202221623116/PAConv/scene_seg/lib/paconv_lib/src/init.py", line 20, in ], build_directory=gpu_path, verbose=False) File "/root/anaconda3/envs/paconv/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1092, in load keep_intermediates=keep_intermediates) File "/root/anaconda3/envs/paconv/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1303, in _jit_compile is_standalone=is_standalone) File "/root/anaconda3/envs/paconv/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1374, in _write_ninja_file_and_build_library verify_ninja_availability() File "/root/anaconda3/envs/paconv/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1430, in verify_ninja_availability raise RuntimeError("Ninja is required to load C++ extensions") RuntimeError: Ninja is required to load C++ extensions [2023-12-03 03:10:43,879 INFO test_s3dis.py line 25 75059] arch: pointnet2_paconv_seg base_lr: 0.05 block_size: 1.0 classes: 13 color_augment: 0.0 correlation_loss: True correlation_loss_scale: 10.0 cuda: True data_name: s3dis data_root: dataset/s3dis epochs: 100 evaluate: True fea_dim: 6 hidden: [8, 16, 16] ignore_label: 255 kernel_input: neighbor lr_multidecay: True m: 16 manual_seed: None model_path: exp/s3dis/pointnet2_paconv_cuda/model/best_train.pth momentum: 0.9 multiplier: 0.1 names_path: data/s3dis/s3dis_names.txt no_transformation: False norm_no_trans: True num_point: 4096 paconv: [True, True, True, True, False, False, False, False] print_freq: 100 resume: None sample_rate: 1.0 save_folder: exp/s3dis/pointnet2_paconv_cuda/result/best_epoch/val5_0.5 save_freq: 1 save_path: exp/s3dis/pointnet2_paconv_cuda/model score_input: ed7 split: val start_epoch: 0 step_epoch: 30 stride_rate: 0.5 sync_bn: True test_area: 5 test_batch_size: 8 test_gpu: [0] test_list: dataset/s3dis/list/val5.txt test_list_full: dataset/s3dis/list/val5_full.txt test_workers: 4 train_batch_size: 16 train_batch_size_val: 8 train_full_folder: dataset/s3dis/trainval_fullarea train_gpu: None train_list: dataset/s3dis/list/train12346.txt train_workers: 8 use_xyz: True val_list: dataset/s3dis/list/val5.txt weight: None weight_decay: 0.0001 [2023-12-03 03:10:43,879 INFO test_s3dis.py line 28 75059] => creating model ... [2023-12-03 03:10:43,879 INFO test_s3dis.py line 29 75059] Classes: 13 /202221623116/PAConv/scene_seg/lib/pointops/functions/pointops.py:13: UserWarning: Unable to load pointops_cuda cpp extension. warnings.warn("Unable to load pointops_cuda cpp extension.") Traceback (most recent call last): File "/202221623116/PAConv/scene_seg/lib/pointops/functions/pointops.py", line 8, in import pointops_cuda ModuleNotFoundError: No module named 'pointops_cuda'

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "tool/test_s3dis.py", line 198, in main() File "tool/test_s3dis.py", line 36, in main from model.pointnet2.pointnet2_paconv_seg import PointNet2SSGSeg as Model File "/202221623116/PAConv/scene_seg/model/pointnet2/pointnet2_paconv_seg.py", line 6, in from model.pointnet2.pointnet2_paconv_modules import PointNet2FPModule File "/202221623116/PAConv/scene_seg/model/pointnet2/pointnet2_paconv_modules.py", line 7, in from lib.pointops.functions import pointops File "/202221623116/PAConv/scene_seg/lib/pointops/functions/pointops.py", line 35, in ], build_directory=pointops_cuda_src, verbose=False) File "/root/anaconda3/envs/paconv/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1092, in load keep_intermediates=keep_intermediates) File "/root/anaconda3/envs/paconv/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1303, in _jit_compile is_standalone=is_standalone) File "/root/anaconda3/envs/paconv/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1374, in _write_ninja_file_and_build_library verify_ninja_availability() File "/root/anaconda3/envs/paconv/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1430, in verify_ninja_availability raise RuntimeError("Ninja is required to load C++ extensions") RuntimeError: Ninja is required to load C++ extensions

How should I solve this problem. Thanks!