postech-cvlab / point-transformer Goto Github PK
View Code? Open in Web Editor NEWThis is an unofficial implementation of the Point Transformer paper.
This is an unofficial implementation of the Point Transformer paper.
How did you do the visualization in a way that shows images?
Hello,
I am having an error when executing the semantic segmentation on S3DIS with the command given in the readme :
Totally 204 samples in train set.
Totally 68 samples in val set.
Traceback (most recent call last):
File "/home/user/Documents/git_zip/point-transformer/exp/s3dis/pointtransformer_repro/train.py", line 371, in <module>
main()
File "/home/user/Documents/git_zip/point-transformer/exp/s3dis/pointtransformer_repro/train.py", line 88, in main
mp.spawn(main_worker, nprocs=args.ngpus_per_node, args=(args.ngpus_per_node, args))
File "/home/user/anaconda3/lib/python3.9/site-packages/torch/multiprocessing/spawn.py", line 230, in spawn
return start_processes(fn, args, nprocs, join, daemon, start_method='spawn')
File "/home/user/anaconda3/lib/python3.9/site-packages/torch/multiprocessing/spawn.py", line 188, in start_processes
while not context.join():
File "/home/user/anaconda3/lib/python3.9/site-packages/torch/multiprocessing/spawn.py", line 150, in join
raise ProcessRaisedException(msg, error_index, failed_process.pid)
torch.multiprocessing.spawn.ProcessRaisedException:
-- Process 0 terminated with the following error:
Traceback (most recent call last):
File "/home/user/anaconda3/lib/python3.9/site-packages/torch/multiprocessing/spawn.py", line 59, in _wrap
fn(i, *args)
File "/home/user/Documents/git_zip/point-transformer/exp/s3dis/pointtransformer_repro/train.py", line 104, in main_worker
from model.pointtransformer.pointtransformer_seg import pointtransformer_seg_repro as Model
File "/home/user/Documents/git_zip/point-transformer/model/pointtransformer/pointtransformer_seg.py", line 4, in <module>
from lib.pointops.functions import pointops
File "/home/user/Documents/git_zip/point-transformer/lib/pointops/functions/pointops.py", line 7, in <module>
import pointops_cuda
ModuleNotFoundError: No module named 'pointops_cuda'
Normally, there was no error during compilation of point ops :
running install
running bdist_egg
running egg_info
writing pointops.egg-info/PKG-INFO
writing dependency_links to pointops.egg-info/dependency_links.txt
writing top-level names to pointops.egg-info/top_level.txt
reading manifest file 'pointops.egg-info/SOURCES.txt'
writing manifest file 'pointops.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_ext
building 'pointops_cuda' extension
Emitting ninja build file /home/user/Documents/git_zip/point-transformer/lib/pointops/build/temp.linux-x86_64-3.7/build.ninja...
Compiling objects...
Allowing ninja to set a default number of workers... (overridable by setting the environment variable MAX_JOBS=N)
[1/13] c++ -MMD -MF /home/user/Documents/git_zip/point-transformer/lib/pointops/build/temp.linux-x86_64-3.7/src/aggregation/aggregation_cuda.o.d -pthread -B /home/user/anaconda3/envs/pt/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/TH -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/THC -I/usr/local/cuda-11.1/include -I/home/user/anaconda3/envs/pt/include/python3.7m -c -c /home/user/Documents/git_zip/point-transformer/lib/pointops/src/aggregation/aggregation_cuda.cpp -o /home/user/Documents/git_zip/point-transformer/lib/pointops/build/temp.linux-x86_64-3.7/src/aggregation/aggregation_cuda.o -g -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=pointops_cuda -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
In file included from /home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/ATen/Parallel.h:140,
from /home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/TH/THTensorApply.h:4,
from /home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/TH/THTensor.h:5,
from /home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/THC/THCTensor.h:4,
from /home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/THC/THC.h:12,
from /home/user/Documents/git_zip/point-transformer/lib/pointops/src/aggregation/aggregation_cuda.cpp:2:
/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/ATen/ParallelOpenMP.h:87: warning: ignoring #pragma omp parallel [-Wunknown-pragmas]
87 | #pragma omp parallel for if ((end - begin) >= grain_size)
|
[2/13] c++ -MMD -MF /home/user/Documents/git_zip/point-transformer/lib/pointops/build/temp.linux-x86_64-3.7/src/sampling/sampling_cuda.o.d -pthread -B /home/user/anaconda3/envs/pt/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/TH -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/THC -I/usr/local/cuda-11.1/include -I/home/user/anaconda3/envs/pt/include/python3.7m -c -c /home/user/Documents/git_zip/point-transformer/lib/pointops/src/sampling/sampling_cuda.cpp -o /home/user/Documents/git_zip/point-transformer/lib/pointops/build/temp.linux-x86_64-3.7/src/sampling/sampling_cuda.o -g -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=pointops_cuda -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
In file included from /home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/ATen/Parallel.h:140,
from /home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/TH/THTensorApply.h:4,
from /home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/TH/THTensor.h:5,
from /home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/THC/THCTensor.h:4,
from /home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/THC/THC.h:12,
from /home/user/Documents/git_zip/point-transformer/lib/pointops/src/sampling/sampling_cuda.cpp:2:
/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/ATen/ParallelOpenMP.h:87: warning: ignoring #pragma omp parallel [-Wunknown-pragmas]
87 | #pragma omp parallel for if ((end - begin) >= grain_size)
|
[3/13] c++ -MMD -MF /home/user/Documents/git_zip/point-transformer/lib/pointops/build/temp.linux-x86_64-3.7/src/interpolation/interpolation_cuda.o.d -pthread -B /home/user/anaconda3/envs/pt/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/TH -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/THC -I/usr/local/cuda-11.1/include -I/home/user/anaconda3/envs/pt/include/python3.7m -c -c /home/user/Documents/git_zip/point-transformer/lib/pointops/src/interpolation/interpolation_cuda.cpp -o /home/user/Documents/git_zip/point-transformer/lib/pointops/build/temp.linux-x86_64-3.7/src/interpolation/interpolation_cuda.o -g -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=pointops_cuda -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
In file included from /home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/ATen/Parallel.h:140,
from /home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/TH/THTensorApply.h:4,
from /home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/TH/THTensor.h:5,
from /home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/THC/THCTensor.h:4,
from /home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/THC/THC.h:12,
from /home/user/Documents/git_zip/point-transformer/lib/pointops/src/interpolation/interpolation_cuda.cpp:2:
/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/ATen/ParallelOpenMP.h:87: warning: ignoring #pragma omp parallel [-Wunknown-pragmas]
87 | #pragma omp parallel for if ((end - begin) >= grain_size)
|
[4/13] c++ -MMD -MF /home/user/Documents/git_zip/point-transformer/lib/pointops/build/temp.linux-x86_64-3.7/src/grouping/grouping_cuda.o.d -pthread -B /home/user/anaconda3/envs/pt/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/TH -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/THC -I/usr/local/cuda-11.1/include -I/home/user/anaconda3/envs/pt/include/python3.7m -c -c /home/user/Documents/git_zip/point-transformer/lib/pointops/src/grouping/grouping_cuda.cpp -o /home/user/Documents/git_zip/point-transformer/lib/pointops/build/temp.linux-x86_64-3.7/src/grouping/grouping_cuda.o -g -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=pointops_cuda -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
In file included from /home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/ATen/Parallel.h:140,
from /home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/TH/THTensorApply.h:4,
from /home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/TH/THTensor.h:5,
from /home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/THC/THCTensor.h:4,
from /home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/THC/THC.h:12,
from /home/user/Documents/git_zip/point-transformer/lib/pointops/src/grouping/grouping_cuda.cpp:2:
/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/ATen/ParallelOpenMP.h:87: warning: ignoring #pragma omp parallel [-Wunknown-pragmas]
87 | #pragma omp parallel for if ((end - begin) >= grain_size)
|
[5/13] c++ -MMD -MF /home/user/Documents/git_zip/point-transformer/lib/pointops/build/temp.linux-x86_64-3.7/src/knnquery/knnquery_cuda.o.d -pthread -B /home/user/anaconda3/envs/pt/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/TH -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/THC -I/usr/local/cuda-11.1/include -I/home/user/anaconda3/envs/pt/include/python3.7m -c -c /home/user/Documents/git_zip/point-transformer/lib/pointops/src/knnquery/knnquery_cuda.cpp -o /home/user/Documents/git_zip/point-transformer/lib/pointops/build/temp.linux-x86_64-3.7/src/knnquery/knnquery_cuda.o -g -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=pointops_cuda -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
In file included from /home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/ATen/Parallel.h:140,
from /home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/TH/THTensorApply.h:4,
from /home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/TH/THTensor.h:5,
from /home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/THC/THCTensor.h:4,
from /home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/THC/THC.h:12,
from /home/user/Documents/git_zip/point-transformer/lib/pointops/src/knnquery/knnquery_cuda.cpp:2:
/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/ATen/ParallelOpenMP.h:87: warning: ignoring #pragma omp parallel [-Wunknown-pragmas]
87 | #pragma omp parallel for if ((end - begin) >= grain_size)
|
[6/13] c++ -MMD -MF /home/user/Documents/git_zip/point-transformer/lib/pointops/build/temp.linux-x86_64-3.7/src/subtraction/subtraction_cuda.o.d -pthread -B /home/user/anaconda3/envs/pt/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/TH -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/THC -I/usr/local/cuda-11.1/include -I/home/user/anaconda3/envs/pt/include/python3.7m -c -c /home/user/Documents/git_zip/point-transformer/lib/pointops/src/subtraction/subtraction_cuda.cpp -o /home/user/Documents/git_zip/point-transformer/lib/pointops/build/temp.linux-x86_64-3.7/src/subtraction/subtraction_cuda.o -g -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=pointops_cuda -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
In file included from /home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/ATen/Parallel.h:140,
from /home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/TH/THTensorApply.h:4,
from /home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/TH/THTensor.h:5,
from /home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/THC/THCTensor.h:4,
from /home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/THC/THC.h:12,
from /home/user/Documents/git_zip/point-transformer/lib/pointops/src/subtraction/subtraction_cuda.cpp:2:
/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/ATen/ParallelOpenMP.h:87: warning: ignoring #pragma omp parallel [-Wunknown-pragmas]
87 | #pragma omp parallel for if ((end - begin) >= grain_size)
|
[7/13] /usr/local/cuda-11.1/bin/nvcc -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/TH -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/THC -I/usr/local/cuda-11.1/include -I/home/user/anaconda3/envs/pt/include/python3.7m -c -c /home/user/Documents/git_zip/point-transformer/lib/pointops/src/subtraction/subtraction_cuda_kernel.cu -o /home/user/Documents/git_zip/point-transformer/lib/pointops/build/temp.linux-x86_64-3.7/src/subtraction/subtraction_cuda_kernel.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O2 -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=pointops_cuda -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_86,code=compute_86 -gencode=arch=compute_86,code=sm_86 -std=c++14
[8/13] /usr/local/cuda-11.1/bin/nvcc -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/TH -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/THC -I/usr/local/cuda-11.1/include -I/home/user/anaconda3/envs/pt/include/python3.7m -c -c /home/user/Documents/git_zip/point-transformer/lib/pointops/src/sampling/sampling_cuda_kernel.cu -o /home/user/Documents/git_zip/point-transformer/lib/pointops/build/temp.linux-x86_64-3.7/src/sampling/sampling_cuda_kernel.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O2 -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=pointops_cuda -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_86,code=compute_86 -gencode=arch=compute_86,code=sm_86 -std=c++14
[9/13] /usr/local/cuda-11.1/bin/nvcc -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/TH -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/THC -I/usr/local/cuda-11.1/include -I/home/user/anaconda3/envs/pt/include/python3.7m -c -c /home/user/Documents/git_zip/point-transformer/lib/pointops/src/aggregation/aggregation_cuda_kernel.cu -o /home/user/Documents/git_zip/point-transformer/lib/pointops/build/temp.linux-x86_64-3.7/src/aggregation/aggregation_cuda_kernel.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O2 -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=pointops_cuda -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_86,code=compute_86 -gencode=arch=compute_86,code=sm_86 -std=c++14
[10/13] /usr/local/cuda-11.1/bin/nvcc -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/TH -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/THC -I/usr/local/cuda-11.1/include -I/home/user/anaconda3/envs/pt/include/python3.7m -c -c /home/user/Documents/git_zip/point-transformer/lib/pointops/src/grouping/grouping_cuda_kernel.cu -o /home/user/Documents/git_zip/point-transformer/lib/pointops/build/temp.linux-x86_64-3.7/src/grouping/grouping_cuda_kernel.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O2 -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=pointops_cuda -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_86,code=compute_86 -gencode=arch=compute_86,code=sm_86 -std=c++14
[11/13] /usr/local/cuda-11.1/bin/nvcc -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/TH -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/THC -I/usr/local/cuda-11.1/include -I/home/user/anaconda3/envs/pt/include/python3.7m -c -c /home/user/Documents/git_zip/point-transformer/lib/pointops/src/knnquery/knnquery_cuda_kernel.cu -o /home/user/Documents/git_zip/point-transformer/lib/pointops/build/temp.linux-x86_64-3.7/src/knnquery/knnquery_cuda_kernel.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O2 -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=pointops_cuda -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_86,code=compute_86 -gencode=arch=compute_86,code=sm_86 -std=c++14
[12/13] /usr/local/cuda-11.1/bin/nvcc -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/TH -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/THC -I/usr/local/cuda-11.1/include -I/home/user/anaconda3/envs/pt/include/python3.7m -c -c /home/user/Documents/git_zip/point-transformer/lib/pointops/src/interpolation/interpolation_cuda_kernel.cu -o /home/user/Documents/git_zip/point-transformer/lib/pointops/build/temp.linux-x86_64-3.7/src/interpolation/interpolation_cuda_kernel.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O2 -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=pointops_cuda -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_86,code=compute_86 -gencode=arch=compute_86,code=sm_86 -std=c++14
[13/13] c++ -MMD -MF /home/user/Documents/git_zip/point-transformer/lib/pointops/build/temp.linux-x86_64-3.7/src/pointops_api.o.d -pthread -B /home/user/anaconda3/envs/pt/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/TH -I/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/THC -I/usr/local/cuda-11.1/include -I/home/user/anaconda3/envs/pt/include/python3.7m -c -c /home/user/Documents/git_zip/point-transformer/lib/pointops/src/pointops_api.cpp -o /home/user/Documents/git_zip/point-transformer/lib/pointops/build/temp.linux-x86_64-3.7/src/pointops_api.o -g -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=pointops_cuda -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
In file included from /home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/ATen/Parallel.h:140,
from /home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/utils.h:3,
from /home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/nn/cloneable.h:5,
from /home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/nn.h:3,
from /home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/torch/csrc/api/include/torch/all.h:13,
from /home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/torch/extension.h:4,
from /home/user/Documents/git_zip/point-transformer/lib/pointops/src/pointops_api.cpp:2:
/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/include/ATen/ParallelOpenMP.h:87: warning: ignoring #pragma omp parallel [-Wunknown-pragmas]
87 | #pragma omp parallel for if ((end - begin) >= grain_size)
|
creating build/lib.linux-x86_64-3.7
g++ -pthread -shared -B /home/user/anaconda3/envs/pt/compiler_compat -L/home/user/anaconda3/envs/pt/lib -Wl,-rpath=/home/user/anaconda3/envs/pt/lib -Wl,--no-as-needed -Wl,--sysroot=/ /home/user/Documents/git_zip/point-transformer/lib/pointops/build/temp.linux-x86_64-3.7/src/pointops_api.o /home/user/Documents/git_zip/point-transformer/lib/pointops/build/temp.linux-x86_64-3.7/src/knnquery/knnquery_cuda.o /home/user/Documents/git_zip/point-transformer/lib/pointops/build/temp.linux-x86_64-3.7/src/knnquery/knnquery_cuda_kernel.o /home/user/Documents/git_zip/point-transformer/lib/pointops/build/temp.linux-x86_64-3.7/src/sampling/sampling_cuda.o /home/user/Documents/git_zip/point-transformer/lib/pointops/build/temp.linux-x86_64-3.7/src/sampling/sampling_cuda_kernel.o /home/user/Documents/git_zip/point-transformer/lib/pointops/build/temp.linux-x86_64-3.7/src/grouping/grouping_cuda.o /home/user/Documents/git_zip/point-transformer/lib/pointops/build/temp.linux-x86_64-3.7/src/grouping/grouping_cuda_kernel.o /home/user/Documents/git_zip/point-transformer/lib/pointops/build/temp.linux-x86_64-3.7/src/interpolation/interpolation_cuda.o /home/user/Documents/git_zip/point-transformer/lib/pointops/build/temp.linux-x86_64-3.7/src/interpolation/interpolation_cuda_kernel.o /home/user/Documents/git_zip/point-transformer/lib/pointops/build/temp.linux-x86_64-3.7/src/subtraction/subtraction_cuda.o /home/user/Documents/git_zip/point-transformer/lib/pointops/build/temp.linux-x86_64-3.7/src/subtraction/subtraction_cuda_kernel.o /home/user/Documents/git_zip/point-transformer/lib/pointops/build/temp.linux-x86_64-3.7/src/aggregation/aggregation_cuda.o /home/user/Documents/git_zip/point-transformer/lib/pointops/build/temp.linux-x86_64-3.7/src/aggregation/aggregation_cuda_kernel.o -L/home/user/anaconda3/envs/pt/lib/python3.7/site-packages/torch/lib -L/usr/local/cuda-11.1/lib64 -lc10 -ltorch -ltorch_cpu -ltorch_python -lcudart -lc10_cuda -ltorch_cuda_cu -ltorch_cuda_cpp -o build/lib.linux-x86_64-3.7/pointops_cuda.cpython-37m-x86_64-linux-gnu.so
creating build/bdist.linux-x86_64
creating build/bdist.linux-x86_64/egg
copying build/lib.linux-x86_64-3.7/pointops_cuda.cpython-37m-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/egg
creating stub loader for pointops_cuda.cpython-37m-x86_64-linux-gnu.so
byte-compiling build/bdist.linux-x86_64/egg/pointops_cuda.py to pointops_cuda.cpython-37.pyc
creating build/bdist.linux-x86_64/egg/EGG-INFO
copying pointops.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying pointops.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying pointops.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying pointops.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
writing build/bdist.linux-x86_64/egg/EGG-INFO/native_libs.txt
zip_safe flag not set; analyzing archive contents...
__pycache__.pointops_cuda.cpython-37: module references __file__
creating dist
creating 'dist/pointops-0.0.0-py3.7-linux-x86_64.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing pointops-0.0.0-py3.7-linux-x86_64.egg
creating /home/user/anaconda3/envs/pt/lib/python3.7/site-packages/pointops-0.0.0-py3.7-linux-x86_64.egg
Extracting pointops-0.0.0-py3.7-linux-x86_64.egg to /home/user/anaconda3/envs/pt/lib/python3.7/site-packages
Adding pointops 0.0.0 to easy-install.pth file
Installed /home/user/anaconda3/envs/pt/lib/python3.7/site-packages/pointops-0.0.0-py3.7-linux-x86_64.egg
Processing dependencies for pointops==0.0.0
Finished processing dependencies for pointops==0.0.0
packages versions :
# Name Version Build Channel
_libgcc_mutex 0.1 main
_openmp_mutex 4.5 1_gnu
blas 1.0 mkl
ca-certificates 2021.10.8 ha878542_0 conda-forge
certifi 2021.10.8 py37h89c1867_1 conda-forge
cudatoolkit 11.1.74 h6bb024c_0 nvidia
freetype 2.11.0 h70c0345_0
giflib 5.2.1 h7b6447c_0
h5py 2.10.0 py37hd6299e0_1 anaconda
hdf5 1.10.6 hb1b8bf9_0 anaconda
intel-openmp 2021.4.0 h06a4308_3561
jpeg 9d h7f8727e_0
lcms2 2.12 h3be6417_0
ld_impl_linux-64 2.35.1 h7274673_9
libffi 3.3 he6710b0_2
libgcc-ng 9.3.0 h5101ec6_17
libgfortran-ng 7.3.0 hdf63c60_0 anaconda
libgomp 9.3.0 h5101ec6_17
libpng 1.6.37 hbc83047_0
libprotobuf 3.15.8 h780b84a_0 conda-forge
libstdcxx-ng 9.3.0 hd4cf53a_17
libtiff 4.2.0 h85742a9_0
libuv 1.40.0 h7b6447c_0
libwebp 1.2.0 h89dd481_0
libwebp-base 1.2.0 h27cfd23_0
lz4-c 1.9.3 h295c915_1
mkl 2021.4.0 h06a4308_640
mkl-service 2.4.0 py37h7f8727e_0
mkl_fft 1.3.1 py37hd3c417c_0
mkl_random 1.2.2 py37h51133e4_0
ncurses 6.3 h7f8727e_2
ninja 1.10.2 py37hd09550d_3
numpy 1.21.2 py37h20f2e39_0
numpy-base 1.21.2 py37h79a1101_0
olefile 0.46 py37_0
openssl 1.1.1l h7f8727e_0
pillow 8.4.0 py37h5aabda8_0
pip 21.2.2 py37h06a4308_0
pointops 0.0.0 pypi_0 pypi
protobuf 3.15.8 py37hcd2ae1e_0 conda-forge
python 3.7.11 h12debd9_0
python_abi 3.7 2_cp37m conda-forge
pytorch 1.9.0 py3.7_cuda11.1_cudnn8.0.5_0 pytorch
pyyaml 5.3.1 py37h7b6447c_1 anaconda
readline 8.1 h27cfd23_0
setuptools 58.0.4 py37h06a4308_0
sharedarray 3.2.1 py37h6f94858_2 conda-forge
six 1.16.0 pyhd3eb1b0_0
sqlite 3.36.0 hc218d9a_0
tensorboardx 2.4 pyhd8ed1ab_0 conda-forge
tk 8.6.11 h1ccaba5_0
torchvision 0.2.2 py_3 pytorch
typing_extensions 3.10.0.2 pyh06a4308_0
wheel 0.37.0 pyhd3eb1b0_1
xz 5.2.5 h7b6447c_0
yaml 0.2.5 h7b6447c_0 anaconda
zlib 1.2.11 h7b6447c_3
zstd 1.4.9 haebb681_0
nvcc - V gives
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2020 NVIDIA Corporation
Built on Mon_Oct_12_20:09:46_PDT_2020
Cuda compilation tools, release 11.1, V11.1.105
Build cuda_11.1.TC455_06.29190527_0
Thx !
Hi,
I use python 3.7, cuda10.1, pytorch 1.7.1 to build the point_transformer_ops, but there are a lot of errors. It uses the default CUDA 9.0, and the compling has error with nvcc fatal : Unsupported gpu architecture 'compute_75'. How to deal with these errors? Thanks.
No CUDA runtime is found, using CUDA_HOME='/cm/shared/apps/cuda90/toolkit/9.0.176'
running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.7
creating build/lib.linux-x86_64-3.7/point_transformer_ops
copying point_transformer_ops/__init__.py -> build/lib.linux-x86_64-3.7/point_transformer_ops
copying point_transformer_ops/point_transformer_modules.py -> build/lib.linux-x86_64-3.7/point_transformer_ops
copying point_transformer_ops/_version.py -> build/lib.linux-x86_64-3.7/point_transformer_ops
copying point_transformer_ops/point_transformer_utils.py -> build/lib.linux-x86_64-3.7/point_transformer_ops
running egg_info
writing point_transformer_ops.egg-info/PKG-INFO
writing dependency_links to point_transformer_ops.egg-info/dependency_links.txt
writing requirements to point_transformer_ops.egg-info/requires.txt
writing top-level names to point_transformer_ops.egg-info/top_level.txt
reading manifest file 'point_transformer_ops.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'point_transformer_ops.egg-info/SOURCES.txt'
creating build/lib.linux-x86_64-3.7/point_transformer_ops/_ext-src
creating build/lib.linux-x86_64-3.7/point_transformer_ops/_ext-src/include
copying point_transformer_ops/_ext-src/include/ball_query.h -> build/lib.linux-x86_64-3.7/point_transformer_ops/_ext-src/include
copying point_transformer_ops/_ext-src/include/cuda_utils.h -> build/lib.linux-x86_64-3.7/point_transformer_ops/_ext-src/include
copying point_transformer_ops/_ext-src/include/group_points.h -> build/lib.linux-x86_64-3.7/point_transformer_ops/_ext-src/include
copying point_transformer_ops/_ext-src/include/interpolate.h -> build/lib.linux-x86_64-3.7/point_transformer_ops/_ext-src/include
copying point_transformer_ops/_ext-src/include/sampling.h -> build/lib.linux-x86_64-3.7/point_transformer_ops/_ext-src/include
copying point_transformer_ops/_ext-src/include/utils.h -> build/lib.linux-x86_64-3.7/point_transformer_ops/_ext-src/include
creating build/lib.linux-x86_64-3.7/point_transformer_ops/_ext-src/src
copying point_transformer_ops/_ext-src/src/ball_query.cpp -> build/lib.linux-x86_64-3.7/point_transformer_ops/_ext-src/src
copying point_transformer_ops/_ext-src/src/ball_query_gpu.cu -> build/lib.linux-x86_64-3.7/point_transformer_ops/_ext-src/src
copying point_transformer_ops/_ext-src/src/bindings.cpp -> build/lib.linux-x86_64-3.7/point_transformer_ops/_ext-src/src
copying point_transformer_ops/_ext-src/src/group_points.cpp -> build/lib.linux-x86_64-3.7/point_transformer_ops/_ext-src/src
copying point_transformer_ops/_ext-src/src/group_points_gpu.cu -> build/lib.linux-x86_64-3.7/point_transformer_ops/_ext-src/src
copying point_transformer_ops/_ext-src/src/interpolate.cpp -> build/lib.linux-x86_64-3.7/point_transformer_ops/_ext-src/src
copying point_transformer_ops/_ext-src/src/interpolate_gpu.cu -> build/lib.linux-x86_64-3.7/point_transformer_ops/_ext-src/src
copying point_transformer_ops/_ext-src/src/sampling.cpp -> build/lib.linux-x86_64-3.7/point_transformer_ops/_ext-src/src
copying point_transformer_ops/_ext-src/src/sampling_gpu.cu -> build/lib.linux-x86_64-3.7/point_transformer_ops/_ext-src/src
running build_ext
building 'point_transformer_ops._ext' extension
creating /tmp/pip-req-build-comdcmt1/build/temp.linux-x86_64-3.7
creating /tmp/pip-req-build-comdcmt1/build/temp.linux-x86_64-3.7/point_transformer_ops
creating /tmp/pip-req-build-comdcmt1/build/temp.linux-x86_64-3.7/point_transformer_ops/_ext-src
creating /tmp/pip-req-build-comdcmt1/build/temp.linux-x86_64-3.7/point_transformer_ops/_ext-src/src
Emitting ninja build file /tmp/pip-req-build-comdcmt1/build/temp.linux-x86_64-3.7/build.ninja...
Compiling objects...
Allowing ninja to set a default number of workers... (overridable by setting the environment variable MAX_JOBS=N)
[1/9] /cm/shared/apps/cuda90/toolkit/9.0.176/bin/nvcc -I/tmp/pip-req-build-comdcmt1/point_transformer_ops/_ext-src/include -I/export/home/hanxiaobing/anaconda3/envs/pytorch-Point-Transformer/lib/python3.7/site-packages/torch/include -I/export/home/hanxiaobing/anaconda3/envs/pytorch-Point-Transformer/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -I/export/home/hanxiaobing/anaconda3/envs/pytorch-Point-Transformer/lib/python3.7/site-packages/torch/include/TH -I/export/home/hanxiaobing/anaconda3/envs/pytorch-Point-Transformer/lib/python3.7/site-packages/torch/include/THC -I/cm/shared/apps/cuda90/toolkit/9.0.176/include -I/export/home/hanxiaobing/anaconda3/envs/pytorch-Point-Transformer/include/python3.7m -c -c /tmp/pip-req-build-comdcmt1/point_transformer_ops/_ext-src/src/interpolate_gpu.cu -o /tmp/pip-req-build-comdcmt1/build/temp.linux-x86_64-3.7/point_transformer_ops/_ext-src/src/interpolate_gpu.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O3 -Xfatbin -compress-all -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=_ext -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_37,code=sm_37 -gencode=arch=compute_60,code=sm_60 -gencode=arch=compute_62,code=sm_62 -gencode=arch=compute_75,code=sm_75 -gencode=arch=compute_50,code=sm_50 -gencode=arch=compute_61,code=sm_61 -gencode=arch=compute_70,code=sm_70 -gencode=arch=compute_37,code=compute_37 -std=c++14
FAILED: /tmp/pip-req-build-comdcmt1/build/temp.linux-x86_64-3.7/point_transformer_ops/_ext-src/src/interpolate_gpu.o
/cm/shared/apps/cuda90/toolkit/9.0.176/bin/nvcc -I/tmp/pip-req-build-comdcmt1/point_transformer_ops/_ext-src/include -I/export/home/hanxiaobing/anaconda3/envs/pytorch-Point-Transformer/lib/python3.7/site-packages/torch/include -I/export/home/hanxiaobing/anaconda3/envs/pytorch-Point-Transformer/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -I/export/home/hanxiaobing/anaconda3/envs/pytorch-Point-Transformer/lib/python3.7/site-packages/torch/include/TH -I/export/home/hanxiaobing/anaconda3/envs/pytorch-Point-Transformer/lib/python3.7/site-packages/torch/include/THC -I/cm/shared/apps/cuda90/toolkit/9.0.176/include -I/export/home/hanxiaobing/anaconda3/envs/pytorch-Point-Transformer/include/python3.7m -c -c /tmp/pip-req-build-comdcmt1/point_transformer_ops/_ext-src/src/interpolate_gpu.cu -o /tmp/pip-req-build-comdcmt1/build/temp.linux-x86_64-3.7/point_transformer_ops/_ext-src/src/interpolate_gpu.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O3 -Xfatbin -compress-all -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=_ext -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_37,code=sm_37 -gencode=arch=compute_60,code=sm_60 -gencode=arch=compute_62,code=sm_62 -gencode=arch=compute_75,code=sm_75 -gencode=arch=compute_50,code=sm_50 -gencode=arch=compute_61,code=sm_61 -gencode=arch=compute_70,code=sm_70 -gencode=arch=compute_37,code=compute_37 -std=c++14
nvcc fatal : Unsupported gpu architecture 'compute_75'
@chrockey @junha-l @hmyang0727 @Kwonyoung-Ryu Thanks for sharing the code.
One point I am confused with is the PointTransformerSeg architecture re-implemented in this repo.
Specifically, in model/pointtransformer/pointtransformer_seg.py
, the class PointTransformerSeg
defines the function _make_enc()
, according to the code, each one in self.enc1
, self.enc2
, self.enc3
, self.enc4
, self.enc5
contains multiple Point Transformer Blocks.
However, according to the model architecture given by the paper, there is nothing explicitly indicating that each encoder should consist of multiple Point Transformer Blocks. Multiple point transformer blocks in each encoder make the model unnecessarily complicated, which also applies to the function _make_dec()
in same class.
Instead, I mean each encoder should contain one TransitionDown Layer and one Point Transformer Block, and the re-implementations by others also follow this, e.g., Point-Transformers.
Hello, I have tried this model as well as the Stratified transformer.
I am getting about 1/4th GPU Memory requirements with this model, which I am not complaining about, but I wonder where this large difference comes from. I thought the two models are closely related.
Is this plausible, or are there some errors in my implementation? I have read the paper and for me it seems plausible. I am getting about 6 GB Memory with 70000 Points. However I have trouble understanding where the seemingly significantly larger memory consumption of Stratified transformer is coming from. Is this possibly related to relative position encoding?
Hello,
I tried to reproduce the results of Point Transformer for semantic segmentation using your repository, and I could not reach the reported 70 mIoU on S3DIS Area 5. I used the data from PAConv and PointWeb and reach 67.5 mIoU for the best model and 68 mIoU for the last model.
Can you please provide a pretrained model or at least the evaluation log.
Best regards,
Hani
Hi,
Thanks for your great work and codes.
I run point-transformer several times on the same sever (using same configurations), but the results are quit difference, ranging from 68.x-70.x. Just want to know if someone else meet this variance?
best
Hi,
Thanks for sharing the repo. I am quite confused about the positional embedding:
p_r = layer(p_r.transpose(1, 2).contiguous()).transpose(1, 2).contiguous() if i == 1 else layer(p_r)
I don't know why the input of the first layer is the transpose(1,2)
of p_r
. Since the size of p_r
should be (n, nsample, 3)
, why not directly feed it into the embedding block.
Thanks,
Hello, thank you for the clean codebase! I have a question regarding the pointops.queryandgroup
function. In particular, in the following line, we notice that the newly grouped points of shape (m, n_sample, 3) are being subtracted from the points of shape (m, 1, 3):
What is the reason for doing this subtraction?
Also, specifically for the TransitionDown
block of the PointTransformer architecture, this subtracted group of points is concatenated to the final grouped features (use_xyz=True
option in the function call). Is this 100% correct? Because there is no mention of that in the PointTransformer paper.
Thank you very much!
Konstantinos
Hi,
The google drive link for S3DIS dataset seems to be empty.
Can you please check this?
Thank you very much.
I come across the problem: Traceback (most recent call last):
File "exp/s3dis/pointtransformer_repro/train.py", line 371, in
main()
File "exp/s3dis/pointtransformer_repro/train.py", line 88, in main
mp.spawn(main_worker, nprocs=args.ngpus_per_node, args=(args.ngpus_per_node, args))
File "/home/liy0r/anaconda3/lib/python3.8/site-packages/torch/multiprocessing/spawn.py", line 171, in spawn
while not spawn_context.join():
File "/home/liy0r/anaconda3/lib/python3.8/site-packages/torch/multiprocessing/spawn.py", line 118, in join
raise Exception(msg)
Exception:
-- Process 2 terminated with the following error:
Traceback (most recent call last):
File "/home/liy0r/anaconda3/lib/python3.8/site-packages/torch/multiprocessing/spawn.py", line 19, in _wrap
fn(i, *args)
File "/ibex/scratch/liy0r/cvpr/point-transformer/exp/s3dis/pointtransformer_repro/train.py", line 104, in main_worker
from model.pointtransformer.pointtransformer_seg import pointtransformer_seg_repro as Model
File "/ibex/scratch/liy0r/cvpr/point-transformer/model/pointtransformer/pointtransformer_seg.py", line 4, in
from lib.pointops.functions import pointops
File "/ibex/scratch/liy0r/cvpr/point-transformer/lib/pointops/functions/pointops.py", line 7, in
import pointops_cuda
ModuleNotFoundError: No module named 'pointops_cuda'
Hi,
first of all thank you for the great repository and the efficient implementation. Does someone else encounter a NaN loss due to the sum operation in the TransitionUP module of the decoder 5. I removed the two linear layers and the training works fine. Please comment if you solved the issue.
Dear code author,
The S3DIS has two processing methods. (One is chunking; Another is yours.)
So, which of the two methods is better?
Thank you very much!!!
Is it possible that runing inference phase on CPU?
Thank you very much for sharing your nice work. I have a quick question about the implementation. I have found that your original implementation did not reach the paper's reported results. Do you know what are the main reasons, which have been addressed in the author's provided code?
Can you provide the test file? I want to visualize the generated prediction file.
Hi, thanks for providing nice code.
But I haven't seen the results on modelnet40 and shapenetpart. Could you provide the relevant code?
Hello I implemented the model into another training loop and it trains fine on a single GPU. However when I use multi-GPU DataParallel the model stops with the following error
ATen/native/cuda/IndexKernel.cu:91: index out of bounds
According to the error message, this is caused by pointops queryandgroup
.
Any suggestions what might cause that?
Error Message:
/opt/conda/conda-bld/pytorch_1656352464346/work/aten/src/ATen/native/cuda/IndexKernel.cu:91: operator(): block: [30669,0,0], thread: [31,0,0] Assertion `index >= -sizes[i] && index < sizes[i] && "index out of bounds"` failed.
Traceback ...
RuntimeError: Caught RuntimeError in replica 0 on device 0.
Original Traceback (most recent call last):
File "/opt/conda/lib/python3.7/site-packages/torch/nn/parallel/parallel_apply.py", line 61, in _worker
output = module(*input, **kwargs)
File "/opt/conda/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
return forward_call(*input, **kwargs)
File "/home/Paper/model/pointtransformer_seg.py", line 162, in forward
p1, x1, o1 = self.enc1([p0, x0, o0])
File "/opt/conda/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
return forward_call(*input, **kwargs)
File "/opt/conda/lib/python3.7/site-packages/torch/nn/modules/container.py", line 139, in forward
input = module(input)
File "/opt/conda/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
return forward_call(*input, **kwargs)
File "/home/Paper/model/pointtransformer_seg.py", line 116, in forward
x = self.relu(self.bn2(self.transformer2([p, x, o])))
File "/opt/conda/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
return forward_call(*input, **kwargs)
File "/home/Paper/model/pointtransformer_seg.py", line 26, in forward
x_k = pointops.queryandgroup(self.nsample, p, p, x_k, None, o, o, use_xyz=True) # (n, nsample, 3+c)
File "/home/Paper/lib/pointops/functions/pointops.py", line 91, in queryandgroup
grouped_xyz = xyz[idx.view(-1).long(), :].view(m, nsample, 3) # (m, nsample, 3)
RuntimeError: CUDA error: device-side assert triggered
My graphics card driver supports up to 10.1. Can I run this code?
hi! when I run the train.py at line 88 mp.spawn(main_workers,nprocs=args.ngpus_per_node, args=(args.ngpus_per_node, args)),I got an error .Do you know how to solve it?
ImportError: /home/xjw/anaconda3/envs/pointtransformer/lib/python3.7/site-packages/pointops-0.0.0-py3.7-linux-x86_64.egg/pointops_cuda.cpython-37m-x86_64-linux-gnu.so: undefined symbol: _ZNK2at10TensorBase8data_ptrIfEEPT_v
As the code error say,maybe is the custom torch.autograd.Function (FurthestSampling
and KNNQuery
)do not have its backward.And it do not have weight correlated grad,so I add a backward function to them as well as the codebase.
class FurthestSampling(Function):
@staticmethod
def forward(ctx, xyz, offset, new_offset):
"""
input: xyz: (n, 3), offset: (b), new_offset: (b)
output: idx: (m)
"""
assert xyz.is_contiguous()
n, b, n_max = xyz.shape[0], offset.shape[0], offset[0]
for i in range(1, b):
n_max = max(offset[i] - offset[i-1], n_max)
idx = torch.cuda.IntTensor(new_offset[b-1].item()).zero_()
tmp = torch.cuda.FloatTensor(n).fill_(1e10)
pointops_cuda.furthestsampling_cuda(b, n_max, xyz, offset, new_offset, tmp, idx)
del tmp
return idx
@staticmethod
def backward(ctx, idx=None):
return None, None, None
furthestsampling = FurthestSampling.apply
class KNNQuery(Function):
@staticmethod
def forward(ctx, nsample, xyz, new_xyz, offset, new_offset):
"""
input: xyz: (n, 3), new_xyz: (m, 3), offset: (b), new_offset: (b)
output: idx: (m, nsample), dist2: (m, nsample)
"""
if new_xyz is None: new_xyz = xyz
assert xyz.is_contiguous() and new_xyz.is_contiguous()
m = new_xyz.shape[0]
idx = torch.cuda.IntTensor(m, nsample).zero_()
dist2 = torch.cuda.FloatTensor(m, nsample).zero_()
pointops_cuda.knnquery_cuda(m, nsample, xyz, new_xyz, offset, new_offset, idx, dist2)
return idx, torch.sqrt(dist2)
@staticmethod
def backward(ctx, idx=None, d=None):
return None, None, None, None, None
knnquery = KNNQuery.apply
When I compile the pointops_cuda, I met the following bugs.
srun -p RTXA6Kq -n 1 -w node10 python setup.py install
No CUDA runtime is found, using CUDA_HOME='/cm/shared/apps/cuda11.1/toolkit/11.1.0'
running install
running bdist_egg
running egg_info
creating pointops.egg-info
writing pointops.egg-info/PKG-INFO
writing dependency_links to pointops.egg-info/dependency_links.txt
writing top-level names to pointops.egg-info/top_level.txt
writing manifest file 'pointops.egg-info/SOURCES.txt'
reading manifest file 'pointops.egg-info/SOURCES.txt'
writing manifest file 'pointops.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_ext
building 'pointops_cuda' extension
creating /export/home/hanxiaobing/Documents/PlaneNet_PlaneRCNN/DGCNN_PointNet2/SensatUrban/contrastBoundary/pytorch/lib/pointops/build
creating /export/home/hanxiaobing/Documents/PlaneNet_PlaneRCNN/DGCNN_PointNet2/SensatUrban/contrastBoundary/pytorch/lib/pointops/build/temp.linux-x86_64-3.6
creating /export/home/hanxiaobing/Documents/PlaneNet_PlaneRCNN/DGCNN_PointNet2/SensatUrban/contrastBoundary/pytorch/lib/pointops/build/temp.linux-x86_64-3.6/src
creating /export/home/hanxiaobing/Documents/PlaneNet_PlaneRCNN/DGCNN_PointNet2/SensatUrban/contrastBoundary/pytorch/lib/pointops/build/temp.linux-x86_64-3.6/src/knnquery
creating /export/home/hanxiaobing/Documents/PlaneNet_PlaneRCNN/DGCNN_PointNet2/SensatUrban/contrastBoundary/pytorch/lib/pointops/build/temp.linux-x86_64-3.6/src/sampling
creating /export/home/hanxiaobing/Documents/PlaneNet_PlaneRCNN/DGCNN_PointNet2/SensatUrban/contrastBoundary/pytorch/lib/pointops/build/temp.linux-x86_64-3.6/src/grouping
creating /export/home/hanxiaobing/Documents/PlaneNet_PlaneRCNN/DGCNN_PointNet2/SensatUrban/contrastBoundary/pytorch/lib/pointops/build/temp.linux-x86_64-3.6/src/interpolation
creating /export/home/hanxiaobing/Documents/PlaneNet_PlaneRCNN/DGCNN_PointNet2/SensatUrban/contrastBoundary/pytorch/lib/pointops/build/temp.linux-x86_64-3.6/src/subtraction
creating /export/home/hanxiaobing/Documents/PlaneNet_PlaneRCNN/DGCNN_PointNet2/SensatUrban/contrastBoundary/pytorch/lib/pointops/build/temp.linux-x86_64-3.6/src/aggregation
Traceback (most recent call last):
File "setup.py", line 34, in
cmdclass={'build_ext': BuildExtension}
File "/export/home/hanxiaobing/anaconda3/envs/pytorch-Point-Transformer/lib/python3.6/site-packages/setuptools/init.py", line 153, in setup
return distutils.core.setup(**attrs)
File "/export/home/hanxiaobing/anaconda3/envs/pytorch-Point-Transformer/lib/python3.6/distutils/core.py", line 148, in setup
dist.run_commands()
File "/export/home/hanxiaobing/anaconda3/envs/pytorch-Point-Transformer/lib/python3.6/distutils/dist.py", line 955, in run_commands
self.run_command(cmd)
File "/export/home/hanxiaobing/anaconda3/envs/pytorch-Point-Transformer/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/export/home/hanxiaobing/anaconda3/envs/pytorch-Point-Transformer/lib/python3.6/site-packages/setuptools/command/install.py", line 67, in run
self.do_egg_install()
File "/export/home/hanxiaobing/anaconda3/envs/pytorch-Point-Transformer/lib/python3.6/site-packages/setuptools/command/install.py", line 109, in do_egg_install
self.run_command('bdist_egg')
File "/export/home/hanxiaobing/anaconda3/envs/pytorch-Point-Transformer/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/export/home/hanxiaobing/anaconda3/envs/pytorch-Point-Transformer/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/export/home/hanxiaobing/anaconda3/envs/pytorch-Point-Transformer/lib/python3.6/site-packages/setuptools/command/bdist_egg.py", line 164, in run
cmd = self.call_command('install_lib', warn_dir=0)
File "/export/home/hanxiaobing/anaconda3/envs/pytorch-Point-Transformer/lib/python3.6/site-packages/setuptools/command/bdist_egg.py", line 150, in call_command
self.run_command(cmdname)
File "/export/home/hanxiaobing/anaconda3/envs/pytorch-Point-Transformer/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/export/home/hanxiaobing/anaconda3/envs/pytorch-Point-Transformer/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/export/home/hanxiaobing/anaconda3/envs/pytorch-Point-Transformer/lib/python3.6/site-packages/setuptools/command/install_lib.py", line 11, in run
self.build()
File "/export/home/hanxiaobing/anaconda3/envs/pytorch-Point-Transformer/lib/python3.6/distutils/command/install_lib.py", line 107, in build
self.run_command('build_ext')
File "/export/home/hanxiaobing/anaconda3/envs/pytorch-Point-Transformer/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/export/home/hanxiaobing/anaconda3/envs/pytorch-Point-Transformer/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/export/home/hanxiaobing/anaconda3/envs/pytorch-Point-Transformer/lib/python3.6/site-packages/setuptools/command/build_ext.py", line 79, in run
_build_ext.run(self)
File "/export/home/hanxiaobing/anaconda3/envs/pytorch-Point-Transformer/lib/python3.6/distutils/command/build_ext.py", line 339, in run
self.build_extensions()
File "/export/home/hanxiaobing/anaconda3/envs/pytorch-Point-Transformer/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 580, in build_extensions
build_ext.build_extensions(self)
File "/export/home/hanxiaobing/anaconda3/envs/pytorch-Point-Transformer/lib/python3.6/distutils/command/build_ext.py", line 448, in build_extensions
self._build_extensions_serial()
File "/export/home/hanxiaobing/anaconda3/envs/pytorch-Point-Transformer/lib/python3.6/distutils/command/build_ext.py", line 473, in _build_extensions_serial
self.build_extension(ext)
File "/export/home/hanxiaobing/anaconda3/envs/pytorch-Point-Transformer/lib/python3.6/site-packages/setuptools/command/build_ext.py", line 196, in build_extension
_build_ext.build_extension(self, ext)
File "/export/home/hanxiaobing/anaconda3/envs/pytorch-Point-Transformer/lib/python3.6/distutils/command/build_ext.py", line 533, in build_extension
depends=ext.depends)
File "/export/home/hanxiaobing/anaconda3/envs/pytorch-Point-Transformer/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 411, in unix_wrap_ninja_compile
cuda_post_cflags = unix_cuda_flags(cuda_post_cflags)
File "/export/home/hanxiaobing/anaconda3/envs/pytorch-Point-Transformer/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 336, in unix_cuda_flags
cflags + _get_cuda_arch_flags(cflags))
File "/export/home/hanxiaobing/anaconda3/envs/pytorch-Point-Transformer/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 1316, in _get_cuda_arch_flags
raise ValueError("Unknown CUDA arch ({}) or GPU not supported".format(arch))
ValueError: Unknown CUDA arch (8.0) or GPU not supported
I have used cuda11.1.
How to solve?
Hi, thank you for your contribution, especially because I think there is no official code for point-transformers. I see that you report the overall accuracy and compare it with the original paper for the s3dis dataset. Did you get by any chance the mIoU using Area 5 as a test?
Thank you
请问12G的显存可以跑吗?
Thanks for your excellent work. I get a question about the number of points used for shape classification on the ModelNet40 after reading the paper.
Hi. It is a nice work!
But I'm confused about the attention calculating process?
In the original Transformer, the attention matrix is calculated by q*k
. But in your paper and code, you use q-k
instead.
What's the reason for that? Are there any other papers also using this method to calculate attention matrix?
Thanks for your upload; I found you have already gotten the result based on the point transformer. But your now source code looks not like the implementation of point transformer. Will you update the source code? Thank you!
Core dump error occurred at my runtime
Hi, how to solve this error? I have use the command: pip install SharedArray, but the error still occurs.
point-transformer_repro/util/s3dis.py", line 4, in
import SharedArray as SA
ModuleNotFoundError: No module named 'SharedArray'
Thanks a lot.
voxel_size= 0.04,voxel_max = 80000,and loop = 30;What is the meaning of these parameters?
Hello, thank you for uploading this!
I'm not sure what does share_planes
do in the recently added code from the paper authors. It seem that the variable share_planes
was originally defined here (where fpn_planes
and fpnhead_planes
were not used anywhere else):
Later, in PointTransformerLayer
's __init__()
and forward()
functions, share_planes
is mostly used as a denominator, to adjust the intermediate dimensions between layers, like here (in function PointTransformerLayer.__init__()
):
point-transformer/model/pointtransformer/pointtransformer_seg.py
Lines 18 to 21 in 7009caf
And here (in function PointTransformerLayer.forward()
):
point-transformer/model/pointtransformer/pointtransformer_seg.py
Lines 34 to 35 in 7009caf
I failed to infer what does share_planes
actually mean. My question here is, when a network layer is constructed by
nn.Linear(mid_planes, mid_planes // share_planes)
mid_planes
-dimensional representation onto a mid_planes//share_planes
-dimensional space?share_planes
have any meaning?Also, the unused fpn_planes
and fpnhead_planes
variables are confusing. Thank you for taking the time to read this, any response would be greatly appreciated.
I don't understand the structure of the dataset, how a point in the dataset is described. A point is described with 9 features. What are these features, and how can the network train with its own data set?
Hi, thanks very much for your excellent codes. But I am curious about the input shape of Transformer layer, as depicted in the following picture. I am confused that there is no batch dimension, and what is o(offset)? In other papers, the point cloud shape is usually represented as (B C N) or (B N C), which is easy to understand. But I got confusion when reading your codes. Hoping to your guide!
I went through your code and had a few queries regarding some segments. I have compiled the queries below and I would really appreciate it, if you can clarify them:
queryandgroup()
function in pointops.py
, there are these lines (93 - 94):grouped_xyz = xyz[idx.view(-1).long(), :].view(m, nsample, 3) # (m, nsample, 3)
grouped_xyz -= new_xyz.unsqueeze(1) # (m, nsample, 3)
My question here is, why is the second line where the difference is taken necessary? As I understand it, grouped_xyz
comes from xyz
, which is the point-set in the current layer / stage and new_xyz
is the point-set for the next layer / stage. grouped_xyz
is only ever returned when the parameter use_xyz
for queryandgroup()
is set to True
, which is the case in one call to queryandgroup()
in PointTransformerLayer
and another call in TransitionDown
. In PointTransformerLayer
, this represents displacement vectors between all points and their respective neighbours. But in TransitionDown
, it represents displacement vectors between points obtained via Furthest Point Sampling (in new_xyz
) and points obtained via kNN (in xyz[idx...]
and hence grouped_xyz
). I am unable to understand why the latter operation is performed and what is its significance?
interpolation()
function in pointops.py
works as follows:
new_xyz
with n (> m)
points, 3 neighbours are found using kNN in xyz
, that has m
points.weight
.new_feat
.I want to know, if this is a correct summary of the function or if I am missing or misunderstanding something here? Also, why was k set to 3 neighbours in this case? Is it an arbitrary choice? Thanks and regards.
Hi, thanks for providing nice code.
But the Google Driver Link is empty, Can you provide a new link?
I also find the dataset from PAConv, which link is also invalid.
i want to know what the version about pytorch and cuda
I found one of the big differences from the previous method is that you use the whole points of the s3dis instance. It looks like it significantly improves the performance, does it?
Hi, Thanks for the amazing work.
I wonder if you could share your thoughts behind looping the dataset 30 times in the training process. Would this case be overfitting issues? (As far as I can see overfitting does occur in the training process where mIOU on training sets reaches 0.95+)
Thanks,
Zhening
Hi,
Could you please share that how long it takes to run on Area 5 for 100 epochs in your settings?
We need around 7 days which is slow.
Thank you!
Hi, thanks for your great jobs.
May I know your GPU devices and training details?
Hi I come cross this problem when I run the train code
OSError: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.27' not found (required by /home/ma-user/work/yanfan/envs/pt/lib/python3.6/site-packages/open3d/cpu/pybind.cpython-36m-x86_64-linux-gnu.so)
how can i solve this?please
change open3d == 0.12.0 ,0.11.0,0.9.0 still does not work
Hi, it is a nice work!
But I am confused about the "share_planes" in PointTransformerLayer.
n, nsample, c = x_v.shape; s = self.share_planes
x = ((x_v + p_r).view(n, nsample, s, c // s) * w.unsqueeze(2)).sum(1).view(n, c)
Apparently, w's dimension is reduced by Linear, which is not illustrated in the paper. I think this operation is not consistent with the vector attention, It is more like a compromise of scalar attention and vector attention.
Why partition the feature dimension of (x_v + p_r) into share_planes?
Hello, thank you very much for your code. I have a question. I hope you can help me. If I use two GPUs (Titan 24g), can I achieve the performance of (Miou 70)?
If possible, what do you think about the settings of parameters such as (batch size, LR) and network layers?
We look forward to your reply
Hi author:
Could you please share the test.py to test the algorithm? Thanks.
Hi, thanks for your code.
I'm confused about you metric calculation:
As shown in
point-transformer/tool/test.py
Line 194 in 8d2a389
point-transformer/tool/test.py
Line 201 in 8d2a389
Both of these code calculate the overall mIOU / mACC, but, whats the difference?
Deleted because original content of this issue is of no benefit to this repo.
Recently, we have released a lightweight Cylinder3D model with much higher performance here. In this codebase, the reproduced Cylinder3D model is 2.9 point higher than the original Cylinder3D model in SemanticKITTI test set (single-scan). Besides, the released models achieve competitive performance in three benchmarks, i.e., ranks 1st in Waymo 3D Semantic Segmentation Challenge, ranks 1st in SemanticKITTI LiDAR Semantic Segmentation Challenge (single-scan) and ranks 2nd in SemanticKITTI LiDAR Semantic Segmentation Challenge (multi-scan). The trained model has been used in one NeurIPS 2022 submission! More LiDAR semantic segmentation models will be supported in the future. Do not hesitate to use the trained models!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.