O-CNN: Octree-based Convolutional Neural Networks for 3D Shape Analysis

Overview

O-CNN

This repository contains the implementation of our papers related with O-CNN.
The code is released under the MIT license.

If you use our code or models, please cite our paper.

Contents

What's New?

  • 2021.08.24: Update the code for pythorch-based O-CNN, including a UNet and some other major components. Our vanilla implementation without any tricks on ScanNet dataset achieves 76.2 mIoU on the ScanNet benchmark, even surpassing the recent state-of-art approaches published in CVPR 2021 and ICCV 2021.
  • 2021.03.01: Update the code for pytorch-based O-CNN, including a ResNet and some important modules.
  • 2021.02.08: Release the code for ShapeNet segmentation with HRNet.
  • 2021.02.03: Release the code for ModelNet40 classification with HRNet.
  • 2020.10.12: Release the initial version of our O-CNN under PyTorch. The code has been tested with the classification task.
  • 2020.08.16: We released our code for 3D unsupervised learning. We provided a unified network architecture for generic shape analysis tasks and an unsupervised method to pretrain the network. Our method achieved state-of-the-art performance on several benchmarks.
  • 2020.08.12: We released our code for Partnet segmentation. We achieved an average IoU of 58.4, significantly better than PointNet (IoU: 35.6), PointNet++ (IoU: 42.5), SpiderCNN (IoU: 37.0), and PointCNN(IoU: 46.5).
  • 2020.08.05: We released our code for shape completion. We proposed a simple yet efficient network and output-guided skip connections for 3D completion, which achieved state-of-the-art performances on several benchmarks.

Please contact us (Peng-Shuai Wang [email protected], Yang Liu [email protected] ) if you have any problems about our implementation.

Comments
  • tf branch questions

    tf branch questions

    Hi Peng-Shuai,

    I encountered two problems during using O-CNN tensorflow branch:

    • there is a points_database = _tf_ocnn_module.points_database # todo: delete this operator in /tensorflow/libs/__init__.py, is that ok to delete this line? otherwise I cannot compile the lib.
    • in /tensorflow/script/cls.py, it uses points_dataset in train_network function while the dataset is octree_dataset in test_network, is that correct or a typo?

    Thanks!

    opened by chenming-wu 11
  • imag2shape

    imag2shape

    Hi, I tried running your AO-CNN instructions (windows 2012), and everything worked great.

    But when I look at the .obj results in meshlab, all the patches seem to be either horizontal or 45 degrees almost no variation between those.

    it seems to get the general overall shape, but the patches are all either horizontal or the same 45 degree angle. So it looks like their are only 2 orientation for the patches.

    Is there a reason why this might be? I was expecting the results would look similar to those in the paper. I thought maybe it is because of low resolution in the provided dataset, but I think it is the same resolution as in the paper.

    I tried using a different mesh viewer for .obj but the meshes were the same.

    opened by FredFloopie 9
  •  Visualizing output file about segmentation

    Visualizing output file about segmentation

    Hello, thanks for your suggestions about how to get the .dat file yesterday. I want to visualize this segmentation task result, so I use octree2ply convert the .dat files to point cloud, and this is my command:Octree2Ply.exe test_label_groundtruth.dat 1. But when I run this command, I only get this: default I don't know how to solve it. Can you give me some suggestions again? Thank you!

    opened by xiankun1995 8
  • libocnn.so: cannot open shared object file: No such file or directory

    libocnn.so: cannot open shared object file: No such file or directory

    Hi, I followed the instalation instructions provided in https://github.com/microsoft/O-CNN/blob/master/docs/installation.md ,

    • install octree
    • insatll tensorflow with conda

    I fixed a problem with the math_functions.h file following your suggestion in #113 ,but i meet similar problem of https://github.com/microsoft/O-CNN/issues/129#issue-954664455.

    then follow the installation steps for tensorflow:

    conda create -n tf-1.14.0 tensorflow-gpu==1.14.0
    conda install -c conda-forge yacs tqdm
    conda activate tf-1.14.0
    cd tensorflow/libs
    python build.py
    

    but i got an error :

    tensorflow.python.framework.errors_impl.NotFoundError: /home/zstuxinxi/wy/O-CNN-master/tensorflow/libs/libocnn.so: cannot open shared object file: No such file or directory
    

    here is build log

    (tf-1.14.0) [email protected]:~/wy/O-CNN-master/tensorflow/libs$ python build.py
    echo using g++ && cmake .. -DABI=ON -DKEY64=OFF && make -j all
    using g++
    -- octree: USE_CUDA
    -- The CUDA compiler identification is NVIDIA 10.1.105
    -- The CXX compiler identification is GNU 7.5.0
    -- The C compiler identification is GNU 7.5.0
    -- Check for working CUDA compiler: /usr/local/cuda/bin/nvcc
    -- Check for working CUDA compiler: /usr/local/cuda/bin/nvcc -- works
    -- Detecting CUDA compiler ABI info
    -- Detecting CUDA compiler ABI info - done
    -- Check for working CXX compiler: /usr/bin/c++
    -- Check for working CXX compiler: /usr/bin/c++ -- works
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- Check for working C compiler: /usr/bin/cc
    -- Check for working C compiler: /usr/bin/cc -- works
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- octree: -D_GLIBCXX_USE_CXX11_ABI=0
    -- octree: USE_MINIBALL
    -- Found PythonInterp: /home/zstuxinxi/miniconda3/envs/tf-1.14.0/bin/python (found version "3.6.2")
    -- Looking for pthread.h
    -- Looking for pthread.h - found
    -- Looking for pthread_create
    -- Looking for pthread_create - not found
    -- Looking for pthread_create in pthreads
    -- Looking for pthread_create in pthreads - not found
    -- Looking for pthread_create in pthread
    -- Looking for pthread_create in pthread - found
    -- Found Threads: TRUE
    -- Configuring done
    -- Generating done
    -- Build files have been written to: /home/zstuxinxi/wy/O-CNN-master/octree/build
    Scanning dependencies of target rply
    Scanning dependencies of target gtest
    Scanning dependencies of target octree_lib
    [  1%] Building C object CMakeFiles/rply.dir/external/octree-ext/rply-1.1.4/rply.c.o
    [  4%] Building CXX object CMakeFiles/octree_lib.dir/octree/contour.cpp.o
    [  4%] Building CXX object CMakeFiles/octree_lib.dir/octree/marching_cube.cpp.o
    [  4%] Building CXX object CMakeFiles/octree_lib.dir/octree/filenames.cpp.o
    [  4%] Building CXX object CMakeFiles/octree_lib.dir/octree/marching_cube_table.cpp.o
    [  5%] Building CXX object external/octree-ext/googletest/googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.o
    [  6%] Building CXX object CMakeFiles/octree_lib.dir/octree/octree_info.cpp.o
    [  7%] Building CXX object CMakeFiles/octree_lib.dir/octree/octree.cpp.o
    [  8%] Building CXX object CMakeFiles/octree_lib.dir/octree/octree_parser.cpp.o
    [ 10%] Building CXX object CMakeFiles/octree_lib.dir/octree/math_functions.cpp.o
    [ 10%] Building CXX object CMakeFiles/octree_lib.dir/octree/merge_octrees.cpp.o
    [ 10%] Building CXX object CMakeFiles/octree_lib.dir/octree/octree_nn.cpp.o
    [ 11%] Building CXX object CMakeFiles/octree_lib.dir/octree/octree_samples.cpp.o
    [ 12%] Building CXX object CMakeFiles/octree_lib.dir/octree/mesh.cpp.o
    [ 13%] Building CXX object CMakeFiles/octree_lib.dir/octree/octree_value.cpp.o
    [ 17%] Building CXX object CMakeFiles/octree_lib.dir/octree/simplify_points.cpp.o
    [ 14%] Building CUDA object CMakeFiles/octree_lib.dir/octree/octree_parser.cu.o
    [ 14%] Building CXX object CMakeFiles/octree_lib.dir/octree/transform_points.cpp.o
    [ 15%] Building CXX object CMakeFiles/octree_lib.dir/octree/points_info.cpp.o
    [ 16%] Building CXX object CMakeFiles/octree_lib.dir/octree/transform_octree.cpp.o
    [ 18%] Building CUDA object CMakeFiles/octree_lib.dir/octree/octree_nn.cu.o
    [ 19%] Building CXX object CMakeFiles/octree_lib.dir/octree/points.cpp.o
    [ 20%] Building CXX object CMakeFiles/octree_lib.dir/octree/points_parser.cpp.o
    [ 21%] Building CXX object CMakeFiles/octree_lib.dir/octree/octree_conv.cpp.o
    [ 22%] Linking C static library librply.a
    [ 22%] Built target rply
    [ 23%] Linking CXX static library ../../../../lib/libgtest.a
    [ 23%] Built target gtest
    Scanning dependencies of target gtest_main
    [ 25%] Building CXX object external/octree-ext/googletest/googletest/CMakeFiles/gtest_main.dir/src/gtest_main.cc.o
    [ 26%] Linking CXX static library ../../../../lib/libgtest_main.a
    [ 26%] Built target gtest_main
    [ 27%] Linking CXX static library liboctree_lib.a
    [ 27%] Built target octree_lib
    Scanning dependencies of target points_noise
    Scanning dependencies of target upgrade_octree
    Scanning dependencies of target octree_zbuffer
    Scanning dependencies of target octree_prune
    Scanning dependencies of target ply2points
    Scanning dependencies of target chamfer_distance
    Scanning dependencies of target octree2pts_suncg
    Scanning dependencies of target custom_data
    Scanning dependencies of target octree_test
    Scanning dependencies of target transform_points
    Scanning dependencies of target points2ply
    Scanning dependencies of target clip_points
    Scanning dependencies of target check_octree
    Scanning dependencies of target octree_bbox
    Scanning dependencies of target octree
    Scanning dependencies of target adaptive_octree
    Scanning dependencies of target bbox
    Scanning dependencies of target octree_dropout
    [ 28%] Building CXX object CMakeFiles/points2ply.dir/tools/points2ply.cpp.o
    [ 31%] Building CXX object CMakeFiles/octree_bbox.dir/tools/octree_bbox.cpp.o
    [ 32%] Building CXX object CMakeFiles/octree_zbuffer.dir/tools/octree_zbuffer.cpp.o
    Scanning dependencies of target mesh2points
    Scanning dependencies of target octree_samples
    [ 33%] Building CXX object CMakeFiles/custom_data.dir/tools/custom_data.cpp.o
    [ 34%] Building CXX object CMakeFiles/points_noise.dir/tools/points_noise.cpp.o
    Scanning dependencies of target merge_octree
    [ 34%] Building CXX object CMakeFiles/transform_points.dir/tools/transform_points.cpp.o
    Scanning dependencies of target octree2points
    [ 35%] Building CXX object CMakeFiles/bbox.dir/tools/bbox.cpp.o
    [ 36%] Building CXX object CMakeFiles/clip_points.dir/tools/clip_points.cpp.o
    Scanning dependencies of target upgrade_points
    [ 29%] Building CXX object CMakeFiles/octree2pts_suncg.dir/tools/octree2pts_suncg.cpp.o
    Scanning dependencies of target play_ground
    [ 30%] Building CXX object CMakeFiles/upgrade_octree.dir/tools/upgrade_octree.cpp.o
    Scanning dependencies of target octree2mesh
    [ 37%] Building CXX object CMakeFiles/octree.dir/tools/build_octree.cpp.o
    [ 38%] Building CXX object CMakeFiles/octree_prune.dir/tools/octree_prune.cpp.o
    [ 39%] Building CXX object CMakeFiles/check_octree.dir/tools/check_octree.cpp.o
    [ 40%] Building CXX object CMakeFiles/chamfer_distance.dir/tools/chamfer_distance.cpp.o
    [ 41%] Building CXX object CMakeFiles/octree_test.dir/test/test_octree_nn.cpp.o
    [ 42%] Building CXX object CMakeFiles/octree2points.dir/tools/octree2points.cpp.o
    [ 39%] Building CXX object CMakeFiles/adaptive_octree.dir/tools/adaptive_octree.cpp.o
    Scanning dependencies of target simplify_points
    [ 43%] Building CXX object CMakeFiles/octree_samples.dir/tools/octree_samples.cpp.o
    [ 44%] Building CXX object CMakeFiles/mesh2points.dir/tools/mesh2points.cpp.o
    [ 44%] Building CXX object CMakeFiles/merge_octree.dir/tools/merge_octree.cpp.o
    [ 45%] Building CXX object CMakeFiles/octree_test.dir/test/test_octree.cpp.o
    [ 46%] Building CXX object CMakeFiles/ply2points.dir/tools/ply2points.cpp.o
    [ 47%] Building CXX object CMakeFiles/octree_test.dir/test/test_util.cpp.o
    [ 48%] Building CXX object CMakeFiles/play_ground.dir/tools/play_ground.cpp.o
    [ 50%] Building CXX object CMakeFiles/octree2mesh.dir/tools/octree2mesh.cpp.o
    [ 51%] Building CXX object CMakeFiles/octree_dropout.dir/tools/octree_dropout.cpp.o
    [ 52%] Building CXX object CMakeFiles/upgrade_points.dir/tools/upgrade_points.cpp.o
    [ 53%] Building CXX object CMakeFiles/simplify_points.dir/tools/simplify_points.cpp.o
    [ 54%] Linking CUDA device code CMakeFiles/octree_zbuffer.dir/cmake_device_link.o
    [ 55%] Linking CUDA device code CMakeFiles/points_noise.dir/cmake_device_link.o
    [ 56%] Linking CUDA device code CMakeFiles/check_octree.dir/cmake_device_link.o
    [ 57%] Linking CUDA device code CMakeFiles/custom_data.dir/cmake_device_link.o
    [ 58%] Linking CUDA device code CMakeFiles/transform_points.dir/cmake_device_link.o
    [ 59%] Linking CUDA device code CMakeFiles/points2ply.dir/cmake_device_link.o
    [ 60%] Linking CUDA device code CMakeFiles/clip_points.dir/cmake_device_link.o
    [ 61%] Linking CUDA device code CMakeFiles/octree_bbox.dir/cmake_device_link.o
    [ 62%] Linking CUDA device code CMakeFiles/octree_samples.dir/cmake_device_link.o
    [ 63%] Linking CUDA device code CMakeFiles/mesh2points.dir/cmake_device_link.o
    [ 64%] Linking CXX executable points_noise
    [ 65%] Linking CUDA device code CMakeFiles/octree2mesh.dir/cmake_device_link.o
    [ 66%] Linking CUDA device code CMakeFiles/bbox.dir/cmake_device_link.o
    [ 66%] Linking CXX executable custom_data
    [ 67%] Linking CXX executable check_octree
    [ 67%] Linking CXX executable octree_zbuffer
    [ 68%] Linking CUDA device code CMakeFiles/merge_octree.dir/cmake_device_link.o
    [ 69%] Linking CXX executable octree_bbox
    [ 70%] Linking CUDA device code CMakeFiles/chamfer_distance.dir/cmake_device_link.o
    [ 70%] Linking CXX executable points2ply
    [ 71%] Linking CXX executable transform_points
    [ 72%] Linking CUDA device code CMakeFiles/simplify_points.dir/cmake_device_link.o
    [ 73%] Linking CXX executable clip_points
    [ 75%] Linking CUDA device code CMakeFiles/octree2points.dir/cmake_device_link.o
    [ 75%] Linking CXX executable octree_samples
    [ 76%] Linking CUDA device code CMakeFiles/octree2pts_suncg.dir/cmake_device_link.o
    [ 77%] Linking CUDA device code CMakeFiles/octree_test.dir/cmake_device_link.o
    [ 78%] Linking CUDA device code CMakeFiles/upgrade_points.dir/cmake_device_link.o
    [ 79%] Linking CUDA device code CMakeFiles/octree.dir/cmake_device_link.o
    [ 80%] Linking CUDA device code CMakeFiles/octree_prune.dir/cmake_device_link.o
    [ 81%] Linking CXX executable mesh2points
    [ 81%] Built target points_noise
    [ 82%] Linking CUDA device code CMakeFiles/play_ground.dir/cmake_device_link.o
    [ 83%] Linking CUDA device code CMakeFiles/adaptive_octree.dir/cmake_device_link.o
    [ 84%] Linking CUDA device code CMakeFiles/octree_dropout.dir/cmake_device_link.o
    [ 86%] Linking CUDA device code CMakeFiles/upgrade_octree.dir/cmake_device_link.o
    [ 85%] Linking CXX executable simplify_points
    [ 86%] Built target custom_data
    [ 87%] Linking CXX executable merge_octree
    [ 88%] Linking CXX executable octree2mesh
    [ 88%] Built target octree_samples
    [ 88%] Built target octree_zbuffer
    [ 88%] Built target clip_points
    [ 88%] Built target octree_bbox
    [ 88%] Built target check_octree
    [ 88%] Linking CXX executable chamfer_distance
    [ 89%] Linking CXX executable bbox
    [ 89%] Built target points2ply
    [ 89%] Built target transform_points
    [ 90%] Linking CXX executable octree2points
    [ 91%] Linking CXX executable octree_prune
    [ 92%] Linking CXX executable octree_test
    [ 93%] Linking CXX executable upgrade_points
    [ 93%] Linking CXX executable octree
    [ 93%] Linking CXX executable octree2pts_suncg
    [ 94%] Linking CXX executable adaptive_octree
    [ 94%] Built target merge_octree
    [ 95%] Linking CXX executable play_ground
    [ 96%] Linking CXX executable upgrade_octree
    [ 97%] Built target mesh2points
    [ 97%] Linking CXX executable octree_dropout
    [ 97%] Built target simplify_points
    [ 97%] Built target octree2mesh
    [ 97%] Built target octree2points
    [ 97%] Built target bbox
    [ 97%] Built target chamfer_distance
    [ 97%] Built target octree_prune
    [ 97%] Built target adaptive_octree
    [ 97%] Built target upgrade_points
    [ 97%] Built target octree2pts_suncg
    [ 97%] Built target octree
    [ 97%] Built target upgrade_octree
    [ 97%] Built target play_ground
    [ 97%] Built target octree_dropout
    [ 97%] Built target octree_test
    [ 98%] Linking CUDA device code CMakeFiles/ply2points.dir/cmake_device_link.o
    [100%] Linking CXX executable ply2points
    [100%] Built target ply2points
    Running main() from /home/zstuxinxi/wy/O-CNN-master/octree/external/octree-ext/googletest/googletest/src/gtest_main.cc
    [==========] Running 12 tests from 7 test suites.
    [----------] Global test environment set-up.
    [----------] 2 tests from OctreeTest
    [ RUN      ] OctreeTest.TestOctreeBuild
    [       OK ] OctreeTest.TestOctreeBuild (0 ms)
    [ RUN      ] OctreeTest.TestOctreeTrim
    [       OK ] OctreeTest.TestOctreeTrim (0 ms)
    [----------] 2 tests from OctreeTest (0 ms total)
    
    [----------] 1 test from VecResizeTest
    [ RUN      ] VecResizeTest.TestVecResize
    [       OK ] VecResizeTest.TestVecResize (0 ms)
    [----------] 1 test from VecResizeTest (0 ms total)
    
    [----------] 1 test from BiliearNeigh
    [ RUN      ] BiliearNeigh.TestBiliearNeigh
    [       OK ] BiliearNeigh.TestBiliearNeigh (0 ms)
    [----------] 1 test from BiliearNeigh (0 ms total)
    
    [----------] 1 test from Coord2xyzTest
    [ RUN      ] Coord2xyzTest.TestCoord2xyz
    [       OK ] Coord2xyzTest.TestCoord2xyz (0 ms)
    [----------] 1 test from Coord2xyzTest (0 ms total)
    
    [----------] 3 tests from UtilTest
    [ RUN      ] UtilTest.TestExtractPath
    [       OK ] UtilTest.TestExtractPath (0 ms)
    [ RUN      ] UtilTest.TestExtractFilename
    [       OK ] UtilTest.TestExtractFilename (0 ms)
    [ RUN      ] UtilTest.TestExtractSuffix
    [       OK ] UtilTest.TestExtractSuffix (0 ms)
    [----------] 3 tests from UtilTest (0 ms total)
    
    [----------] 2 tests from MeshTest
    [ RUN      ] MeshTest.TestFaceCenter
    [       OK ] MeshTest.TestFaceCenter (0 ms)
    [ RUN      ] MeshTest.TestFaceNormal
    [       OK ] MeshTest.TestFaceNormal (0 ms)
    [----------] 2 tests from MeshTest (0 ms total)
    
    [----------] 2 tests from MathTest
    [ RUN      ] MathTest.TestRotMatrix1
    [       OK ] MathTest.TestRotMatrix1 (0 ms)
    [ RUN      ] MathTest.TestRotMatrix2
    [       OK ] MathTest.TestRotMatrix2 (0 ms)
    [----------] 2 tests from MathTest (0 ms total)
    
    [----------] Global test environment tear-down
    [==========] 12 tests from 7 test suites ran. (0 ms total)
    [  PASSED  ] 12 tests.
    g++ -std=c++11 -O2 -c octree2col_op.cc -I/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include -D_GLIBCXX_USE_CXX11_ABI=0 -I../../octree/octree -I /usr/local/cuda-10.1/include   -L /usr/local/cuda-10.1/lib64 -D GOOGLE_CUDA=1 -L/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow -l:libtensorflow_framework.so.1 -L../../octree/build -loctree_lib -fPIC -lcudart  -o object/octree2col_op.cc.o
    g++ -std=c++11 -O2 -c octree_align_op.cc -I/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include -D_GLIBCXX_USE_CXX11_ABI=0 -I../../octree/octree -I /usr/local/cuda-10.1/include   -L /usr/local/cuda-10.1/lib64 -D GOOGLE_CUDA=1 -L/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow -l:libtensorflow_framework.so.1 -L../../octree/build -loctree_lib -fPIC -lcudart  -o object/octree_align_op.cc.o
    g++ -std=c++11 -O2 -c octree_batch_op.cc -I/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include -D_GLIBCXX_USE_CXX11_ABI=0 -I../../octree/octree -I /usr/local/cuda-10.1/include   -L /usr/local/cuda-10.1/lib64 -D GOOGLE_CUDA=1 -L/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow -l:libtensorflow_framework.so.1 -L../../octree/build -loctree_lib -fPIC -lcudart  -o object/octree_batch_op.cc.o
    g++ -std=c++11 -O2 -c octree_bilinear_op.cc -I/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include -D_GLIBCXX_USE_CXX11_ABI=0 -I../../octree/octree -I /usr/local/cuda-10.1/include   -L /usr/local/cuda-10.1/lib64 -D GOOGLE_CUDA=1 -L/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow -l:libtensorflow_framework.so.1 -L../../octree/build -loctree_lib -fPIC -lcudart  -o object/octree_bilinear_op.cc.o
    g++ -std=c++11 -O2 -c octree_conv_op.cc -I/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include -D_GLIBCXX_USE_CXX11_ABI=0 -I../../octree/octree -I /usr/local/cuda-10.1/include   -L /usr/local/cuda-10.1/lib64 -D GOOGLE_CUDA=1 -L/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow -l:libtensorflow_framework.so.1 -L../../octree/build -loctree_lib -fPIC -lcudart  -o object/octree_conv_op.cc.o
    g++ -std=c++11 -O2 -c octree_gather_op.cc -I/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include -D_GLIBCXX_USE_CXX11_ABI=0 -I../../octree/octree -I /usr/local/cuda-10.1/include   -L /usr/local/cuda-10.1/lib64 -D GOOGLE_CUDA=1 -L/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow -l:libtensorflow_framework.so.1 -L../../octree/build -loctree_lib -fPIC -lcudart  -o object/octree_gather_op.cc.o
    g++ -std=c++11 -O2 -c octree_grow_op.cc -I/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include -D_GLIBCXX_USE_CXX11_ABI=0 -I../../octree/octree -I /usr/local/cuda-10.1/include   -L /usr/local/cuda-10.1/lib64 -D GOOGLE_CUDA=1 -L/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow -l:libtensorflow_framework.so.1 -L../../octree/build -loctree_lib -fPIC -lcudart  -o object/octree_grow_op.cc.o
    g++ -std=c++11 -O2 -c octree_key_op.cc -I/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include -D_GLIBCXX_USE_CXX11_ABI=0 -I../../octree/octree -I /usr/local/cuda-10.1/include   -L /usr/local/cuda-10.1/lib64 -D GOOGLE_CUDA=1 -L/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow -l:libtensorflow_framework.so.1 -L../../octree/build -loctree_lib -fPIC -lcudart  -o object/octree_key_op.cc.o
    g++ -std=c++11 -O2 -c octree_mask_op.cc -I/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include -D_GLIBCXX_USE_CXX11_ABI=0 -I../../octree/octree -I /usr/local/cuda-10.1/include   -L /usr/local/cuda-10.1/lib64 -D GOOGLE_CUDA=1 -L/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow -l:libtensorflow_framework.so.1 -L../../octree/build -loctree_lib -fPIC -lcudart  -o object/octree_mask_op.cc.o
    g++ -std=c++11 -O2 -c octree_max_pool_op.cc -I/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include -D_GLIBCXX_USE_CXX11_ABI=0 -I../../octree/octree -I /usr/local/cuda-10.1/include   -L /usr/local/cuda-10.1/lib64 -D GOOGLE_CUDA=1 -L/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow -l:libtensorflow_framework.so.1 -L../../octree/build -loctree_lib -fPIC -lcudart  -o object/octree_max_pool_op.cc.o
    g++ -std=c++11 -O2 -c octree_new_op.cc -I/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include -D_GLIBCXX_USE_CXX11_ABI=0 -I../../octree/octree -I /usr/local/cuda-10.1/include   -L /usr/local/cuda-10.1/lib64 -D GOOGLE_CUDA=1 -L/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow -l:libtensorflow_framework.so.1 -L../../octree/build -loctree_lib -fPIC -lcudart  -o object/octree_new_op.cc.o
    g++ -std=c++11 -O2 -c octree_pad_op.cc -I/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include -D_GLIBCXX_USE_CXX11_ABI=0 -I../../octree/octree -I /usr/local/cuda-10.1/include   -L /usr/local/cuda-10.1/lib64 -D GOOGLE_CUDA=1 -L/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow -l:libtensorflow_framework.so.1 -L../../octree/build -loctree_lib -fPIC -lcudart  -o object/octree_pad_op.cc.o
    g++ -std=c++11 -O2 -c octree_property_op.cc -I/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include -D_GLIBCXX_USE_CXX11_ABI=0 -I../../octree/octree -I /usr/local/cuda-10.1/include   -L /usr/local/cuda-10.1/lib64 -D GOOGLE_CUDA=1 -L/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow -l:libtensorflow_framework.so.1 -L../../octree/build -loctree_lib -fPIC -lcudart  -o object/octree_property_op.cc.o
    g++ -std=c++11 -O2 -c octree_samples.cc -I/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include -D_GLIBCXX_USE_CXX11_ABI=0 -I../../octree/octree -I /usr/local/cuda-10.1/include   -L /usr/local/cuda-10.1/lib64 -D GOOGLE_CUDA=1 -L/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow -l:libtensorflow_framework.so.1 -L../../octree/build -loctree_lib -fPIC -lcudart  -o object/octree_samples.cc.o
    g++ -std=c++11 -O2 -c octree_search_op.cc -I/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include -D_GLIBCXX_USE_CXX11_ABI=0 -I../../octree/octree -I /usr/local/cuda-10.1/include   -L /usr/local/cuda-10.1/lib64 -D GOOGLE_CUDA=1 -L/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow -l:libtensorflow_framework.so.1 -L../../octree/build -loctree_lib -fPIC -lcudart  -o object/octree_search_op.cc.o
    g++ -std=c++11 -O2 -c octree_set_property_op.cc -I/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include -D_GLIBCXX_USE_CXX11_ABI=0 -I../../octree/octree -I /usr/local/cuda-10.1/include   -L /usr/local/cuda-10.1/lib64 -D GOOGLE_CUDA=1 -L/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow -l:libtensorflow_framework.so.1 -L../../octree/build -loctree_lib -fPIC -lcudart  -o object/octree_set_property_op.cc.o
    g++ -std=c++11 -O2 -c octree_update_op.cc -I/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include -D_GLIBCXX_USE_CXX11_ABI=0 -I../../octree/octree -I /usr/local/cuda-10.1/include   -L /usr/local/cuda-10.1/lib64 -D GOOGLE_CUDA=1 -L/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow -l:libtensorflow_framework.so.1 -L../../octree/build -loctree_lib -fPIC -lcudart  -o object/octree_update_op.cc.o
    g++ -std=c++11 -O2 -c points2octree_op.cc -I/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include -D_GLIBCXX_USE_CXX11_ABI=0 -I../../octree/octree -I /usr/local/cuda-10.1/include   -L /usr/local/cuda-10.1/lib64 -D GOOGLE_CUDA=1 -L/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow -l:libtensorflow_framework.so.1 -L../../octree/build -loctree_lib -fPIC -lcudart  -o object/points2octree_op.cc.o
    g++ -std=c++11 -O2 -c points_property_op.cc -I/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include -D_GLIBCXX_USE_CXX11_ABI=0 -I../../octree/octree -I /usr/local/cuda-10.1/include   -L /usr/local/cuda-10.1/lib64 -D GOOGLE_CUDA=1 -L/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow -l:libtensorflow_framework.so.1 -L../../octree/build -loctree_lib -fPIC -lcudart  -o object/points_property_op.cc.o
    g++ -std=c++11 -O2 -c points_set_property_op.cc -I/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include -D_GLIBCXX_USE_CXX11_ABI=0 -I../../octree/octree -I /usr/local/cuda-10.1/include   -L /usr/local/cuda-10.1/lib64 -D GOOGLE_CUDA=1 -L/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow -l:libtensorflow_framework.so.1 -L../../octree/build -loctree_lib -fPIC -lcudart  -o object/points_set_property_op.cc.o
    g++ -std=c++11 -O2 -c transform_octree_op.cc -I/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include -D_GLIBCXX_USE_CXX11_ABI=0 -I../../octree/octree -I /usr/local/cuda-10.1/include   -L /usr/local/cuda-10.1/lib64 -D GOOGLE_CUDA=1 -L/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow -l:libtensorflow_framework.so.1 -L../../octree/build -loctree_lib -fPIC -lcudart  -o object/transform_octree_op.cc.o
    g++ -std=c++11 -O2 -c transform_points_op.cc -I/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include -D_GLIBCXX_USE_CXX11_ABI=0 -I../../octree/octree -I /usr/local/cuda-10.1/include   -L /usr/local/cuda-10.1/lib64 -D GOOGLE_CUDA=1 -L/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow -l:libtensorflow_framework.so.1 -L../../octree/build -loctree_lib -fPIC -lcudart  -o object/transform_points_op.cc.o
    /usr/local/cuda-10.1/bin/nvcc -std=c++11 -O2 -c tensorflow_gpu_gemm.cu.cc -I/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include -D_GLIBCXX_USE_CXX11_ABI=0 -I../../octree/octree -I /usr/local/cuda-10.1/include -x cu -Xcompiler -fPIC -D GOOGLE_CUDA=1 -I /usr/local   -expt-relaxed-constexpr -DNDEBUG  -o object/tensorflow_gpu_gemm.cu.cc.o
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/absl/strings/string_view.h(495): warning: expression has no effect
    
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/absl/strings/string_view.h(495): warning: expression has no effect
    
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map.h: In instantiation of ‘void google::protobuf::Map<Key, T>::InnerMap::iterator_base<KeyValueType>::SearchFrom(google::protobuf::Map<Key, T>::size_type) [with KeyValueType = google::protobuf::Map<std::basic_string<char>, tensorflow::AttrValue>::KeyValuePair; Key = std::basic_string<char>; T = tensorflow::AttrValue; google::protobuf::Map<Key, T>::size_type = long unsigned int]’:
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map.h:400:11:   required from ‘google::protobuf::Map<Key, T>::InnerMap::iterator_base<KeyValueType>::iterator_base(const google::protobuf::Map<Key, T>::InnerMap*) [with KeyValueType = google::protobuf::Map<std::basic_string<char>, tensorflow::AttrValue>::KeyValuePair; Key = std::basic_string<char>; T = tensorflow::AttrValue]’
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map.h:516:28:   required from ‘google::protobuf::Map<Key, T>::InnerMap::iterator google::protobuf::Map<Key, T>::InnerMap::begin() [with Key = std::basic_string<char>; T = tensorflow::AttrValue; google::protobuf::Map<Key, T>::InnerMap::iterator = google::protobuf::Map<std::basic_string<char>, tensorflow::AttrValue>::InnerMap::iterator_base<google::protobuf::Map<std::basic_string<char>, tensorflow::AttrValue>::KeyValuePair>]’
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map.h:1040:25:   required from ‘google::protobuf::Map<Key, T>::const_iterator google::protobuf::Map<Key, T>::begin() const [with Key = std::basic_string<char>; T = tensorflow::AttrValue]’
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/tensorflow/core/framework/node_def_util.h:173:168:   required from here
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map.h:428:29: error: cannot call member function ‘bool google::protobuf::Map<Key, T>::InnerMap::TableEntryIsNonEmptyList(google::protobuf::Map<Key, T>::size_type) const [with Key = std::basic_string<char>; T = tensorflow::AttrValue; google::protobuf::Map<Key, T>::size_type = long unsigned int]’ without object
               if (m_->TableEntryIsNonEmptyList(bucket_index_)) {
               ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map.h:431:30: error: cannot call member function ‘bool google::protobuf::Map<Key, T>::InnerMap::TableEntryIsTree(google::protobuf::Map<Key, T>::size_type) const [with Key = std::basic_string<char>; T = tensorflow::AttrValue; google::protobuf::Map<Key, T>::size_type = long unsigned int]’ without object
               } else if (m_->TableEntryIsTree(bucket_index_)) {
                  ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map.h: In instantiation of ‘bool google::protobuf::Map<Key, T>::InnerMap::iterator_base<KeyValueType>::revalidate_if_necessary(google::protobuf::Map<Key, T>::InnerMap::TreeIterator*) [with KeyValueType = google::protobuf::Map<std::basic_string<char>, tensorflow::AttrValue>::KeyValuePair; Key = std::basic_string<char>; T = tensorflow::AttrValue; google::protobuf::Map<Key, T>::InnerMap::TreeIterator = std::_Rb_tree_const_iterator<std::basic_string<char>*>]’:
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map.h:610:12:   required from ‘void google::protobuf::Map<Key, T>::InnerMap::erase(google::protobuf::Map<Key, T>::InnerMap::iterator) [with Key = std::basic_string<char>; T = tensorflow::AttrValue; google::protobuf::Map<Key, T>::InnerMap::iterator = google::protobuf::Map<std::basic_string<char>, tensorflow::AttrValue>::InnerMap::iterator_base<google::protobuf::Map<std::basic_string<char>, tensorflow::AttrValue>::KeyValuePair>]’
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map.h:1139:1:   required from ‘google::protobuf::Map<Key, T>::iterator google::protobuf::Map<Key, T>::erase(google::protobuf::Map<Key, T>::iterator) [with Key = std::basic_string<char>; T = tensorflow::AttrValue]’
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map.h:1144:14:   required from ‘void google::protobuf::Map<Key, T>::erase(google::protobuf::Map<Key, T>::iterator, google::protobuf::Map<Key, T>::iterator) [with Key = std::basic_string<char>; T = tensorflow::AttrValue]’
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map.h:1147:21:   required from ‘void google::protobuf::Map<Key, T>::clear() [with Key = std::basic_string<char>; T = tensorflow::AttrValue]’
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map_field_inl.h:188:1:   required from ‘void google::protobuf::internal::MapField<Derived, Key, T, key_wire_type, value_wire_type, default_enum_value>::Clear() [with Derived = tensorflow::NameAttrList_AttrEntry_DoNotUse; Key = std::basic_string<char>; T = tensorflow::AttrValue; google::protobuf::internal::WireFormatLite::FieldType kKeyFieldType = (google::protobuf::internal::WireFormatLite::FieldType)9; google::protobuf::internal::WireFormatLite::FieldType kValueFieldType = (google::protobuf::internal::WireFormatLite::FieldType)11; int default_enum_value = 0]’
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/tensorflow/core/framework/attr_value.pb.h:1790:15:   required from here
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map.h:490:29: error: cannot call member function ‘bool google::protobuf::Map<Key, T>::InnerMap::TableEntryIsNonEmptyList(google::protobuf::Map<Key, T>::size_type) const [with Key = std::basic_string<char>; T = tensorflow::AttrValue; google::protobuf::Map<Key, T>::size_type = long unsigned int]’ without object
             if (m_->TableEntryIsNonEmptyList(bucket_index_)) {
             ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map.h:504:24: error: cannot call member function ‘bool google::protobuf::Map<Key, T>::InnerMap::TableEntryIsList(google::protobuf::Map<Key, T>::size_type) const [with Key = std::basic_string<char>; T = tensorflow::AttrValue; google::protobuf::Map<Key, T>::size_type = long unsigned int]’ without object
             return m_->TableEntryIsList(bucket_index_);
             ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map.h: In instantiation of ‘void google::protobuf::Map<Key, T>::InnerMap::iterator_base<KeyValueType>::SearchFrom(google::protobuf::Map<Key, T>::size_type) [with KeyValueType = google::protobuf::Map<unsigned int, tensorflow::FunctionDef_ArgAttrs>::KeyValuePair; Key = unsigned int; T = tensorflow::FunctionDef_ArgAttrs; google::protobuf::Map<Key, T>::size_type = long unsigned int]’:
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map.h:400:11:   required from ‘google::protobuf::Map<Key, T>::InnerMap::iterator_base<KeyValueType>::iterator_base(const google::protobuf::Map<Key, T>::InnerMap*) [with KeyValueType = google::protobuf::Map<unsigned int, tensorflow::FunctionDef_ArgAttrs>::KeyValuePair; Key = unsigned int; T = tensorflow::FunctionDef_ArgAttrs]’
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map.h:516:28:   required from ‘google::protobuf::Map<Key, T>::InnerMap::iterator google::protobuf::Map<Key, T>::InnerMap::begin() [with Key = unsigned int; T = tensorflow::FunctionDef_ArgAttrs; google::protobuf::Map<Key, T>::InnerMap::iterator = google::protobuf::Map<unsigned int, tensorflow::FunctionDef_ArgAttrs>::InnerMap::iterator_base<google::protobuf::Map<unsigned int, tensorflow::FunctionDef_ArgAttrs>::KeyValuePair>]’
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map.h:1037:27:   required from ‘google::protobuf::Map<Key, T>::iterator google::protobuf::Map<Key, T>::begin() [with Key = unsigned int; T = tensorflow::FunctionDef_ArgAttrs]’
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map.h:1147:27:   required from ‘void google::protobuf::Map<Key, T>::clear() [with Key = unsigned int; T = tensorflow::FunctionDef_ArgAttrs]’
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map_field_inl.h:188:1:   required from ‘void google::protobuf::internal::MapField<Derived, Key, T, key_wire_type, value_wire_type, default_enum_value>::Clear() [with Derived = tensorflow::FunctionDef_ArgAttrEntry_DoNotUse; Key = unsigned int; T = tensorflow::FunctionDef_ArgAttrs; google::protobuf::internal::WireFormatLite::FieldType kKeyFieldType = (google::protobuf::internal::WireFormatLite::FieldType)13; google::protobuf::internal::WireFormatLite::FieldType kValueFieldType = (google::protobuf::internal::WireFormatLite::FieldType)11; int default_enum_value = 0]’
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/tensorflow/core/framework/function.pb.h:1059:19:   required from here
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map.h:428:29: error: cannot call member function ‘bool google::protobuf::Map<Key, T>::InnerMap::TableEntryIsNonEmptyList(google::protobuf::Map<Key, T>::size_type) const [with Key = unsigned int; T = tensorflow::FunctionDef_ArgAttrs; google::protobuf::Map<Key, T>::size_type = long unsigned int]’ without object
               if (m_->TableEntryIsNonEmptyList(bucket_index_)) {
               ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map.h:431:30: error: cannot call member function ‘bool google::protobuf::Map<Key, T>::InnerMap::TableEntryIsTree(google::protobuf::Map<Key, T>::size_type) const [with Key = unsigned int; T = tensorflow::FunctionDef_ArgAttrs; google::protobuf::Map<Key, T>::size_type = long unsigned int]’ without object
               } else if (m_->TableEntryIsTree(bucket_index_)) {
                  ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map.h: In instantiation of ‘bool google::protobuf::Map<Key, T>::InnerMap::iterator_base<KeyValueType>::revalidate_if_necessary(google::protobuf::Map<Key, T>::InnerMap::TreeIterator*) [with KeyValueType = google::protobuf::Map<unsigned int, tensorflow::FunctionDef_ArgAttrs>::KeyValuePair; Key = unsigned int; T = tensorflow::FunctionDef_ArgAttrs; google::protobuf::Map<Key, T>::InnerMap::TreeIterator = std::_Rb_tree_const_iterator<unsigned int*>]’:
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map.h:610:12:   required from ‘void google::protobuf::Map<Key, T>::InnerMap::erase(google::protobuf::Map<Key, T>::InnerMap::iterator) [with Key = unsigned int; T = tensorflow::FunctionDef_ArgAttrs; google::protobuf::Map<Key, T>::InnerMap::iterator = google::protobuf::Map<unsigned int, tensorflow::FunctionDef_ArgAttrs>::InnerMap::iterator_base<google::protobuf::Map<unsigned int, tensorflow::FunctionDef_ArgAttrs>::KeyValuePair>]’
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map.h:1139:1:   required from ‘google::protobuf::Map<Key, T>::iterator google::protobuf::Map<Key, T>::erase(google::protobuf::Map<Key, T>::iterator) [with Key = unsigned int; T = tensorflow::FunctionDef_ArgAttrs]’
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map.h:1144:14:   required from ‘void google::protobuf::Map<Key, T>::erase(google::protobuf::Map<Key, T>::iterator, google::protobuf::Map<Key, T>::iterator) [with Key = unsigned int; T = tensorflow::FunctionDef_ArgAttrs]’
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map.h:1147:21:   required from ‘void google::protobuf::Map<Key, T>::clear() [with Key = unsigned int; T = tensorflow::FunctionDef_ArgAttrs]’
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map_field_inl.h:188:1:   required from ‘void google::protobuf::internal::MapField<Derived, Key, T, key_wire_type, value_wire_type, default_enum_value>::Clear() [with Derived = tensorflow::FunctionDef_ArgAttrEntry_DoNotUse; Key = unsigned int; T = tensorflow::FunctionDef_ArgAttrs; google::protobuf::internal::WireFormatLite::FieldType kKeyFieldType = (google::protobuf::internal::WireFormatLite::FieldType)13; google::protobuf::internal::WireFormatLite::FieldType kValueFieldType = (google::protobuf::internal::WireFormatLite::FieldType)11; int default_enum_value = 0]’
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/tensorflow/core/framework/function.pb.h:1059:19:   required from here
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map.h:490:29: error: cannot call member function ‘bool google::protobuf::Map<Key, T>::InnerMap::TableEntryIsNonEmptyList(google::protobuf::Map<Key, T>::size_type) const [with Key = unsigned int; T = tensorflow::FunctionDef_ArgAttrs; google::protobuf::Map<Key, T>::size_type = long unsigned int]’ without object
             if (m_->TableEntryIsNonEmptyList(bucket_index_)) {
             ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map.h:504:24: error: cannot call member function ‘bool google::protobuf::Map<Key, T>::InnerMap::TableEntryIsList(google::protobuf::Map<Key, T>::size_type) const [with Key = unsigned int; T = tensorflow::FunctionDef_ArgAttrs; google::protobuf::Map<Key, T>::size_type = long unsigned int]’ without object
             return m_->TableEntryIsList(bucket_index_);
             ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map.h: In instantiation of ‘void google::protobuf::Map<Key, T>::InnerMap::iterator_base<KeyValueType>::SearchFrom(google::protobuf::Map<Key, T>::size_type) [with KeyValueType = google::protobuf::Map<std::basic_string<char>, std::basic_string<char> >::KeyValuePair; Key = std::basic_string<char>; T = std::basic_string<char>; google::protobuf::Map<Key, T>::size_type = long unsigned int]’:
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map.h:400:11:   required from ‘google::protobuf::Map<Key, T>::InnerMap::iterator_base<KeyValueType>::iterator_base(const google::protobuf::Map<Key, T>::InnerMap*) [with KeyValueType = google::protobuf::Map<std::basic_string<char>, std::basic_string<char> >::KeyValuePair; Key = std::basic_string<char>; T = std::basic_string<char>]’
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map.h:516:28:   required from ‘google::protobuf::Map<Key, T>::InnerMap::iterator google::protobuf::Map<Key, T>::InnerMap::begin() [with Key = std::basic_string<char>; T = std::basic_string<char>; google::protobuf::Map<Key, T>::InnerMap::iterator = google::protobuf::Map<std::basic_string<char>, std::basic_string<char> >::InnerMap::iterator_base<google::protobuf::Map<std::basic_string<char>, std::basic_string<char> >::KeyValuePair>]’
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map.h:1037:27:   required from ‘google::protobuf::Map<Key, T>::iterator google::protobuf::Map<Key, T>::begin() [with Key = std::basic_string<char>; T = std::basic_string<char>]’
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map.h:1147:27:   required from ‘void google::protobuf::Map<Key, T>::clear() [with Key = std::basic_string<char>; T = std::basic_string<char>]’
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map_field_inl.h:188:1:   required from ‘void google::protobuf::internal::MapField<Derived, Key, T, key_wire_type, value_wire_type, default_enum_value>::Clear() [with Derived = tensorflow::FunctionDef_RetEntry_DoNotUse; Key = std::basic_string<char>; T = std::basic_string<char>; google::protobuf::internal::WireFormatLite::FieldType kKeyFieldType = (google::protobuf::internal::WireFormatLite::FieldType)9; google::protobuf::internal::WireFormatLite::FieldType kValueFieldType = (google::protobuf::internal::WireFormatLite::FieldType)9; int default_enum_value = 0]’
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/tensorflow/core/framework/function.pb.h:1104:14:   required from here
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map.h:428:29: error: cannot call member function ‘bool google::protobuf::Map<Key, T>::InnerMap::TableEntryIsNonEmptyList(google::protobuf::Map<Key, T>::size_type) const [with Key = std::basic_string<char>; T = std::basic_string<char>; google::protobuf::Map<Key, T>::size_type = long unsigned int]’ without object
               if (m_->TableEntryIsNonEmptyList(bucket_index_)) {
               ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map.h:431:30: error: cannot call member function ‘bool google::protobuf::Map<Key, T>::InnerMap::TableEntryIsTree(google::protobuf::Map<Key, T>::size_type) const [with Key = std::basic_string<char>; T = std::basic_string<char>; google::protobuf::Map<Key, T>::size_type = long unsigned int]’ without object
               } else if (m_->TableEntryIsTree(bucket_index_)) {
                  ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map.h: In instantiation of ‘bool google::protobuf::Map<Key, T>::InnerMap::iterator_base<KeyValueType>::revalidate_if_necessary(google::protobuf::Map<Key, T>::InnerMap::TreeIterator*) [with KeyValueType = google::protobuf::Map<std::basic_string<char>, std::basic_string<char> >::KeyValuePair; Key = std::basic_string<char>; T = std::basic_string<char>; google::protobuf::Map<Key, T>::InnerMap::TreeIterator = std::_Rb_tree_const_iterator<std::basic_string<char>*>]’:
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map.h:610:12:   required from ‘void google::protobuf::Map<Key, T>::InnerMap::erase(google::protobuf::Map<Key, T>::InnerMap::iterator) [with Key = std::basic_string<char>; T = std::basic_string<char>; google::protobuf::Map<Key, T>::InnerMap::iterator = google::protobuf::Map<std::basic_string<char>, std::basic_string<char> >::InnerMap::iterator_base<google::protobuf::Map<std::basic_string<char>, std::basic_string<char> >::KeyValuePair>]’
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map.h:1139:1:   required from ‘google::protobuf::Map<Key, T>::iterator google::protobuf::Map<Key, T>::erase(google::protobuf::Map<Key, T>::iterator) [with Key = std::basic_string<char>; T = std::basic_string<char>]’
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map.h:1144:14:   required from ‘void google::protobuf::Map<Key, T>::erase(google::protobuf::Map<Key, T>::iterator, google::protobuf::Map<Key, T>::iterator) [with Key = std::basic_string<char>; T = std::basic_string<char>]’
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map.h:1147:21:   required from ‘void google::protobuf::Map<Key, T>::clear() [with Key = std::basic_string<char>; T = std::basic_string<char>]’
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map_field_inl.h:188:1:   required from ‘void google::protobuf::internal::MapField<Derived, Key, T, key_wire_type, value_wire_type, default_enum_value>::Clear() [with Derived = tensorflow::FunctionDef_RetEntry_DoNotUse; Key = std::basic_string<char>; T = std::basic_string<char>; google::protobuf::internal::WireFormatLite::FieldType kKeyFieldType = (google::protobuf::internal::WireFormatLite::FieldType)9; google::protobuf::internal::WireFormatLite::FieldType kValueFieldType = (google::protobuf::internal::WireFormatLite::FieldType)9; int default_enum_value = 0]’
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/tensorflow/core/framework/function.pb.h:1104:14:   required from here
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map.h:490:29: error: cannot call member function ‘bool google::protobuf::Map<Key, T>::InnerMap::TableEntryIsNonEmptyList(google::protobuf::Map<Key, T>::size_type) const [with Key = std::basic_string<char>; T = std::basic_string<char>; google::protobuf::Map<Key, T>::size_type = long unsigned int]’ without object
             if (m_->TableEntryIsNonEmptyList(bucket_index_)) {
             ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
    /home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/include/google/protobuf/map.h:504:24: error: cannot call member function ‘bool google::protobuf::Map<Key, T>::InnerMap::TableEntryIsList(google::protobuf::Map<Key, T>::size_type) const [with Key = std::basic_string<char>; T = std::basic_string<char>; google::protobuf::Map<Key, T>::size_type = long unsigned int]’ without object
             return m_->TableEntryIsList(bucket_index_);
             ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
    Makefile:91: recipe for target 'object/tensorflow_gpu_gemm.cu.cc.o' failed
    make: *** [object/tensorflow_gpu_gemm.cu.cc.o] Error 1
    INFO from ocnn: The octree key is 32 bits, the octree depth should be smaller than 8.
    Traceback (most recent call last):
      File "test_all.py", line 5, in <module>
        from test_octree2col import Octree2ColTest
      File "/home/zstuxinxi/wy/O-CNN-master/tensorflow/test/test_octree2col.py", line 8, in <module>
        from libs import *
      File "../libs/__init__.py", line 20, in <module>
        _tf_ocnn_module = tf.load_op_library(os.path.join(_current_path, 'libocnn.so'))
      File "/home/zstuxinxi/miniconda3/envs/tf-1.14.0/lib/python3.6/site-packages/tensorflow/python/framework/load_library.py", line 61, in load_op_library
        lib_handle = py_tf.TF_LoadLibrary(library_filename)
    tensorflow.python.framework.errors_impl.NotFoundError: /home/zstuxinxi/wy/O-CNN-master/tensorflow/libs/libocnn.so: cannot open shared object file: No such file or directory
    
    

    my ubuntu version is 18.04 and the cuda version is 10.1 , i also check the CUDA environment, but have no idea

    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
    export PATH=/usr/local/cuda/bin:$PATH
    export CUDA_HOME=$CUDA_HOME:/usr/local/cuda
    export CPATH=/usr/local/cuda/targets/x86_64-linux/include:$CPATH
    

    Any help would be greatly appreciated.

    opened by flyKite1998 7
  • How to build a GAN with O-CNN ?

    How to build a GAN with O-CNN ?

    Hi, I am trying to build a GAN network with your O-CNN code. Here are some problems I want to ask:

    1. During the forward process of convolution, does the input octree changes? or it is just for index.
    2. How can I constract a decoder as the generator of GAN? Should I create a original octree as one of the inputs? And how?
    3. Is there anything else I need to know for constracting a decoder?
    opened by TrepangCat 7
  • Question about data

    Question about data

    Hello. I can run the train mode and test mode with the lmdb files you gave in segmentation task. But the program will stop running when I use my files. My files is obj format, and I convert it to lmdb format. Then I start train mode but program stop running. If the data have special requirements in segmentation task? Please give me some suggestion. Thank you!

    opened by xiankun1995 7
  • Compile error: O-CNN/pytorch/build/temp.linux-x86_64-3.7/./cpp/transform_points.o: No such file or directory

    Compile error: O-CNN/pytorch/build/temp.linux-x86_64-3.7/./cpp/transform_points.o: No such file or directory

    I follow the guidance in https://github.com/microsoft/O-CNN/blob/master/docs/installation.md to compile the octree. However, after I run the code

    cd octree/external && git clone --recursive https://github.com/wang-ps/octree-ext.git
    cd .. && mkdir build && cd build
    cmake ..  && cmake --build . --config Release
    

    I have a slight modification here: change the following code in anaconda's cpp_extension.py

    def _run_ninja_build(build_directory: str, verbose: bool, error_prefix: str) -> None:
        command = ['ninja', '-v']
    

    to

    def _run_ninja_build(build_directory: str, verbose: bool, error_prefix: str) -> None:
        # command = ['ninja', '-v']
        command = ['ninja', '--version']
    

    Here is the running result:

    (base) -bash-4.2$ cmake ..  && cmake --build . --config Release
    -- octree: USE_CUDA
    -- octree: -D_GLIBCXX_USE_CXX11_ABI=1
    -- octree: USE_MINIBALL
    CMake Deprecation Warning at external/octree-ext/googletest/CMakeLists.txt:4 (cmake_minimum_required):
      Compatibility with CMake < 2.8.12 will be removed from a future version of
      CMake.
    
      Update the VERSION argument <min> value or use a ...<max> suffix to tell
      CMake that the project does not need compatibility with older versions.
    
    
    CMake Deprecation Warning at external/octree-ext/googletest/googlemock/CMakeLists.txt:45 (cmake_minimum_required):
      Compatibility with CMake < 2.8.12 will be removed from a future version of
      CMake.
    
      Update the VERSION argument <min> value or use a ...<max> suffix to tell
      CMake that the project does not need compatibility with older versions.
    
    
    CMake Deprecation Warning at external/octree-ext/googletest/googletest/CMakeLists.txt:56 (cmake_minimum_required):
      Compatibility with CMake < 2.8.12 will be removed from a future version of
      CMake.
    
      Update the VERSION argument <min> value or use a ...<max> suffix to tell
      CMake that the project does not need compatibility with older versions.
    
    
    -- Configuring done
    CMake Warning (dev) in CMakeLists.txt:
      Policy CMP0104 is not set: CMAKE_CUDA_ARCHITECTURES now detected for NVCC,
      empty CUDA_ARCHITECTURES not allowed.  Run "cmake --help-policy CMP0104"
      for policy details.  Use the cmake_policy command to set the policy and
      suppress this warning.
    
      CUDA_ARCHITECTURES is empty for target "octree_lib".
    This warning is for project developers.  Use -Wno-dev to suppress it.
    
    -- Generating done
    -- Build files have been written to: /export/data/lwangcg/Vis-MVSNet/O-CNN/octree/build
    [ 27%] Built target octree_lib
    [ 30%] Built target upgrade_points
    [ 32%] Built target gtest
    [ 34%] Built target gtest_main
    [ 39%] Built target octree_test
    [ 42%] Built target upgrade_octree
    [ 44%] Built target transform_points
    [ 46%] Built target simplify_points
    [ 49%] Built target points_noise
    [ 51%] Built target check_octree
    [ 54%] Built target chamfer_distance
    [ 56%] Built target ply2points
    [ 59%] Built target octree
    [ 61%] Built target clip_points
    [ 63%] Built target adaptive_octree
    [ 66%] Built target rply
    [ 68%] Built target octree2mesh
    [ 71%] Built target merge_octree
    [ 73%] Built target custom_data
    [ 75%] Built target octree2pts_suncg
    [ 78%] Built target octree_samples
    [ 80%] Built target octree_zbuffer
    [ 83%] Built target bbox
    [ 85%] Built target mesh2points
    [ 87%] Built target octree2points
    [ 90%] Built target octree_bbox
    [ 92%] Built target octree_prune
    [ 95%] Built target octree_dropout
    [ 97%] Built target points2ply
    [100%] Built target play_ground
    

    I find the directory O-CNN/octree/build/bin is empty. Then, I set the PATH to O-CNN/octree/build/:$PATH. Later, I build O-CNN with the code:

    cd pytorch
    python setup.py install --build_octree
    

    Here is the error:

    (base) -bash-4.2$ python setup.py install --build_octree
    mkdir /export/data/lwangcg/Vis-MVSNet/O-CNN/octree/build && cd /export/data/lwangcg/Vis-MVSNet/O-CNN/octree/build && cmake .. -DABI=ON -DKEY64=ON  && cmake --build . --config Release && ./octree_test
    -- octree: USE_CUDA
    -- The CUDA compiler identification is NVIDIA 10.2.89
    -- The CXX compiler identification is GNU 8.3.0
    -- The C compiler identification is GNU 8.3.0
    -- Detecting CUDA compiler ABI info
    -- Detecting CUDA compiler ABI info - done
    -- Check for working CUDA compiler: /export/data/lwangcg/cuda-10.2/bin/nvcc - skipped
    -- Detecting CUDA compile features
    -- Detecting CUDA compile features - done
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Check for working CXX compiler: /usr/local/GNU/gcc-8.3.0/bin/c++ - skipped
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Check for working C compiler: /usr/local/GNU/gcc-8.3.0/bin/gcc - skipped
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- octree: -D_GLIBCXX_USE_CXX11_ABI=0
    -- octree: USE_MINIBALL
    -- octree: KEY64
    CMake Deprecation Warning at external/octree-ext/googletest/CMakeLists.txt:4 (cmake_minimum_required):
      Compatibility with CMake < 2.8.12 will be removed from a future version of
      CMake.
    
      Update the VERSION argument <min> value or use a ...<max> suffix to tell
      CMake that the project does not need compatibility with older versions.
    
    
    CMake Deprecation Warning at external/octree-ext/googletest/googlemock/CMakeLists.txt:45 (cmake_minimum_required):
      Compatibility with CMake < 2.8.12 will be removed from a future version of
      CMake.
    
      Update the VERSION argument <min> value or use a ...<max> suffix to tell
      CMake that the project does not need compatibility with older versions.
    
    
    CMake Deprecation Warning at external/octree-ext/googletest/googletest/CMakeLists.txt:56 (cmake_minimum_required):
      Compatibility with CMake < 2.8.12 will be removed from a future version of
      CMake.
    
      Update the VERSION argument <min> value or use a ...<max> suffix to tell
      CMake that the project does not need compatibility with older versions.
    
    
    -- Found PythonInterp: /export/data/lwangcg/anaconda3/bin/python (found version "3.7.4")
    -- Looking for pthread.h
    -- Looking for pthread.h - found
    -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
    -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
    -- Looking for pthread_create in pthreads
    -- Looking for pthread_create in pthreads - not found
    -- Looking for pthread_create in pthread
    -- Looking for pthread_create in pthread - found
    -- Found Threads: TRUE
    -- Configuring done
    CMake Warning (dev) in CMakeLists.txt:
      Policy CMP0104 is not set: CMAKE_CUDA_ARCHITECTURES now detected for NVCC,
      empty CUDA_ARCHITECTURES not allowed.  Run "cmake --help-policy CMP0104"
      for policy details.  Use the cmake_policy command to set the policy and
      suppress this warning.
    
      CUDA_ARCHITECTURES is empty for target "octree_lib".
    This warning is for project developers.  Use -Wno-dev to suppress it.
    
    -- Generating done
    -- Build files have been written to: /export/data/lwangcg/Vis-MVSNet/O-CNN/octree/build
    Scanning dependencies of target octree_lib
    [  1%] Building CXX object CMakeFiles/octree_lib.dir/octree/contour.cpp.o
    [  2%] Building CXX object CMakeFiles/octree_lib.dir/octree/filenames.cpp.o
    [  3%] Building CXX object CMakeFiles/octree_lib.dir/octree/marching_cube.cpp.o
    [  4%] Building CXX object CMakeFiles/octree_lib.dir/octree/marching_cube_table.cpp.o
    [  6%] Building CXX object CMakeFiles/octree_lib.dir/octree/math_functions.cpp.o
    [  7%] Building CXX object CMakeFiles/octree_lib.dir/octree/merge_octrees.cpp.o
    [  8%] Building CXX object CMakeFiles/octree_lib.dir/octree/mesh.cpp.o
    [  9%] Building CXX object CMakeFiles/octree_lib.dir/octree/octree.cpp.o
    [ 10%] Building CXX object CMakeFiles/octree_lib.dir/octree/octree_conv.cpp.o
    [ 12%] Building CXX object CMakeFiles/octree_lib.dir/octree/octree_info.cpp.o
    [ 13%] Building CXX object CMakeFiles/octree_lib.dir/octree/octree_nn.cpp.o
    [ 14%] Building CXX object CMakeFiles/octree_lib.dir/octree/octree_parser.cpp.o
    [ 15%] Building CXX object CMakeFiles/octree_lib.dir/octree/octree_samples.cpp.o
    [ 16%] Building CXX object CMakeFiles/octree_lib.dir/octree/octree_value.cpp.o
    [ 18%] Building CXX object CMakeFiles/octree_lib.dir/octree/points.cpp.o
    [ 19%] Building CXX object CMakeFiles/octree_lib.dir/octree/points_info.cpp.o
    [ 20%] Building CXX object CMakeFiles/octree_lib.dir/octree/points_parser.cpp.o
    [ 21%] Building CXX object CMakeFiles/octree_lib.dir/octree/simplify_points.cpp.o
    [ 22%] Building CXX object CMakeFiles/octree_lib.dir/octree/transform_octree.cpp.o
    [ 24%] Building CXX object CMakeFiles/octree_lib.dir/octree/transform_points.cpp.o
    [ 25%] Building CUDA object CMakeFiles/octree_lib.dir/octree/octree_nn.cu.o
    [ 26%] Building CUDA object CMakeFiles/octree_lib.dir/octree/octree_parser.cu.o
    [ 27%] Linking CXX static library liboctree_lib.a
    [ 27%] Built target octree_lib
    Scanning dependencies of target upgrade_points
    [ 28%] Building CXX object CMakeFiles/upgrade_points.dir/tools/upgrade_points.cpp.o
    [ 30%] Linking CXX executable upgrade_points
    [ 30%] Built target upgrade_points
    Scanning dependencies of target gtest
    [ 31%] Building CXX object external/octree-ext/googletest/googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.o
    [ 32%] Linking CXX static library ../../../../lib/libgtest.a
    [ 32%] Built target gtest
    Scanning dependencies of target gtest_main
    [ 33%] Building CXX object external/octree-ext/googletest/googletest/CMakeFiles/gtest_main.dir/src/gtest_main.cc.o
    [ 34%] Linking CXX static library ../../../../lib/libgtest_main.a
    [ 34%] Built target gtest_main
    Scanning dependencies of target octree_test
    [ 36%] Building CXX object CMakeFiles/octree_test.dir/test/test_octree.cpp.o
    [ 37%] Building CXX object CMakeFiles/octree_test.dir/test/test_octree_nn.cpp.o
    [ 38%] Building CXX object CMakeFiles/octree_test.dir/test/test_util.cpp.o
    [ 39%] Linking CXX executable octree_test
    [ 39%] Built target octree_test
    Scanning dependencies of target upgrade_octree
    [ 40%] Building CXX object CMakeFiles/upgrade_octree.dir/tools/upgrade_octree.cpp.o
    [ 42%] Linking CXX executable upgrade_octree
    [ 42%] Built target upgrade_octree
    Scanning dependencies of target transform_points
    [ 43%] Building CXX object CMakeFiles/transform_points.dir/tools/transform_points.cpp.o
    [ 44%] Linking CXX executable transform_points
    [ 44%] Built target transform_points
    Scanning dependencies of target simplify_points
    [ 45%] Building CXX object CMakeFiles/simplify_points.dir/tools/simplify_points.cpp.o
    [ 46%] Linking CXX executable simplify_points
    [ 46%] Built target simplify_points
    Scanning dependencies of target points_noise
    [ 48%] Building CXX object CMakeFiles/points_noise.dir/tools/points_noise.cpp.o
    [ 49%] Linking CXX executable points_noise
    [ 49%] Built target points_noise
    Scanning dependencies of target check_octree
    [ 50%] Building CXX object CMakeFiles/check_octree.dir/tools/check_octree.cpp.o
    [ 51%] Linking CXX executable check_octree
    [ 51%] Built target check_octree
    Scanning dependencies of target chamfer_distance
    [ 53%] Building CXX object CMakeFiles/chamfer_distance.dir/tools/chamfer_distance.cpp.o
    [ 54%] Linking CXX executable chamfer_distance
    [ 54%] Built target chamfer_distance
    Scanning dependencies of target ply2points
    [ 55%] Building CXX object CMakeFiles/ply2points.dir/tools/ply2points.cpp.o
    [ 56%] Linking CXX executable ply2points
    [ 56%] Built target ply2points
    Scanning dependencies of target octree
    [ 57%] Building CXX object CMakeFiles/octree.dir/tools/build_octree.cpp.o
    [ 59%] Linking CXX executable octree
    [ 59%] Built target octree
    Scanning dependencies of target clip_points
    [ 60%] Building CXX object CMakeFiles/clip_points.dir/tools/clip_points.cpp.o
    [ 61%] Linking CXX executable clip_points
    [ 61%] Built target clip_points
    Scanning dependencies of target adaptive_octree
    [ 62%] Building CXX object CMakeFiles/adaptive_octree.dir/tools/adaptive_octree.cpp.o
    [ 63%] Linking CXX executable adaptive_octree
    [ 63%] Built target adaptive_octree
    Scanning dependencies of target rply
    [ 65%] Building C object CMakeFiles/rply.dir/external/octree-ext/rply-1.1.4/rply.c.o
    [ 66%] Linking C static library librply.a
    [ 66%] Built target rply
    Scanning dependencies of target octree2mesh
    [ 67%] Building CXX object CMakeFiles/octree2mesh.dir/tools/octree2mesh.cpp.o
    [ 68%] Linking CXX executable octree2mesh
    [ 68%] Built target octree2mesh
    Scanning dependencies of target merge_octree
    [ 69%] Building CXX object CMakeFiles/merge_octree.dir/tools/merge_octree.cpp.o
    [ 71%] Linking CXX executable merge_octree
    [ 71%] Built target merge_octree
    Scanning dependencies of target custom_data
    [ 72%] Building CXX object CMakeFiles/custom_data.dir/tools/custom_data.cpp.o
    [ 73%] Linking CXX executable custom_data
    [ 73%] Built target custom_data
    Scanning dependencies of target octree2pts_suncg
    [ 74%] Building CXX object CMakeFiles/octree2pts_suncg.dir/tools/octree2pts_suncg.cpp.o
    [ 75%] Linking CXX executable octree2pts_suncg
    [ 75%] Built target octree2pts_suncg
    Scanning dependencies of target octree_samples
    [ 77%] Building CXX object CMakeFiles/octree_samples.dir/tools/octree_samples.cpp.o
    [ 78%] Linking CXX executable octree_samples
    [ 78%] Built target octree_samples
    Scanning dependencies of target octree_zbuffer
    [ 79%] Building CXX object CMakeFiles/octree_zbuffer.dir/tools/octree_zbuffer.cpp.o
    [ 80%] Linking CXX executable octree_zbuffer
    [ 80%] Built target octree_zbuffer
    Scanning dependencies of target bbox
    [ 81%] Building CXX object CMakeFiles/bbox.dir/tools/bbox.cpp.o
    [ 83%] Linking CXX executable bbox
    [ 83%] Built target bbox
    Scanning dependencies of target mesh2points
    [ 84%] Building CXX object CMakeFiles/mesh2points.dir/tools/mesh2points.cpp.o
    [ 85%] Linking CXX executable mesh2points
    [ 85%] Built target mesh2points
    Scanning dependencies of target octree2points
    [ 86%] Building CXX object CMakeFiles/octree2points.dir/tools/octree2points.cpp.o
    [ 87%] Linking CXX executable octree2points
    [ 87%] Built target octree2points
    Scanning dependencies of target octree_bbox
    [ 89%] Building CXX object CMakeFiles/octree_bbox.dir/tools/octree_bbox.cpp.o
    [ 90%] Linking CXX executable octree_bbox
    [ 90%] Built target octree_bbox
    Scanning dependencies of target octree_prune
    [ 91%] Building CXX object CMakeFiles/octree_prune.dir/tools/octree_prune.cpp.o
    [ 92%] Linking CXX executable octree_prune
    [ 92%] Built target octree_prune
    Scanning dependencies of target octree_dropout
    [ 93%] Building CXX object CMakeFiles/octree_dropout.dir/tools/octree_dropout.cpp.o
    [ 95%] Linking CXX executable octree_dropout
    [ 95%] Built target octree_dropout
    Scanning dependencies of target points2ply
    [ 96%] Building CXX object CMakeFiles/points2ply.dir/tools/points2ply.cpp.o
    [ 97%] Linking CXX executable points2ply
    [ 97%] Built target points2ply
    Scanning dependencies of target play_ground
    [ 98%] Building CXX object CMakeFiles/play_ground.dir/tools/play_ground.cpp.o
    [100%] Linking CXX executable play_ground
    [100%] Built target play_ground
    Running main() from /export/data/lwangcg/Vis-MVSNet/O-CNN/octree/external/octree-ext/googletest/googletest/src/gtest_main.cc
    [==========] Running 12 tests from 7 test suites.
    [----------] Global test environment set-up.
    [----------] 2 tests from OctreeTest
    [ RUN      ] OctreeTest.TestOctreeBuild
    /export/data/lwangcg/Vis-MVSNet/O-CNN/octree/test/test_octree.cpp:193: Failure
    Expected equality of these values:
      octree_value.fval(16.5f, 16.5f, 0.5f).first
        Which is: -0.492761
      -0.5f
        Which is: -0.5
    [  FAILED  ] OctreeTest.TestOctreeBuild (0 ms)
    [ RUN      ] OctreeTest.TestOctreeTrim
    [       OK ] OctreeTest.TestOctreeTrim (1 ms)
    [----------] 2 tests from OctreeTest (1 ms total)
    
    [----------] 1 test from VecResizeTest
    [ RUN      ] VecResizeTest.TestVecResize
    [       OK ] VecResizeTest.TestVecResize (0 ms)
    [----------] 1 test from VecResizeTest (0 ms total)
    
    [----------] 1 test from BiliearNeigh
    [ RUN      ] BiliearNeigh.TestBiliearNeigh
    [       OK ] BiliearNeigh.TestBiliearNeigh (1 ms)
    [----------] 1 test from BiliearNeigh (1 ms total)
    
    [----------] 1 test from Coord2xyzTest
    [ RUN      ] Coord2xyzTest.TestCoord2xyz
    [       OK ] Coord2xyzTest.TestCoord2xyz (0 ms)
    [----------] 1 test from Coord2xyzTest (0 ms total)
    
    [----------] 3 tests from UtilTest
    [ RUN      ] UtilTest.TestExtractPath
    [       OK ] UtilTest.TestExtractPath (0 ms)
    [ RUN      ] UtilTest.TestExtractFilename
    [       OK ] UtilTest.TestExtractFilename (0 ms)
    [ RUN      ] UtilTest.TestExtractSuffix
    [       OK ] UtilTest.TestExtractSuffix (0 ms)
    [----------] 3 tests from UtilTest (0 ms total)
    
    [----------] 2 tests from MeshTest
    [ RUN      ] MeshTest.TestFaceCenter
    [       OK ] MeshTest.TestFaceCenter (0 ms)
    [ RUN      ] MeshTest.TestFaceNormal
    [       OK ] MeshTest.TestFaceNormal (0 ms)
    [----------] 2 tests from MeshTest (0 ms total)
    
    [----------] 2 tests from MathTest
    [ RUN      ] MathTest.TestRotMatrix1
    [       OK ] MathTest.TestRotMatrix1 (0 ms)
    [ RUN      ] MathTest.TestRotMatrix2
    [       OK ] MathTest.TestRotMatrix2 (0 ms)
    [----------] 2 tests from MathTest (0 ms total)
    
    [----------] Global test environment tear-down
    [==========] 12 tests from 7 test suites ran. (3 ms total)
    [  PASSED  ] 11 tests.
    [  FAILED  ] 1 test, listed below:
    [  FAILED  ] OctreeTest.TestOctreeBuild
    
     1 FAILED TEST
    running install
    running bdist_egg
    running egg_info
    writing ocnn.egg-info/PKG-INFO
    writing dependency_links to ocnn.egg-info/dependency_links.txt
    writing requirements to ocnn.egg-info/requires.txt
    writing top-level names to ocnn.egg-info/top_level.txt
    reading manifest file 'ocnn.egg-info/SOURCES.txt'
    writing manifest file 'ocnn.egg-info/SOURCES.txt'
    installing library code to build/bdist.linux-x86_64/egg
    running install_lib
    running build_py
    running build_ext
    building 'ocnn.nn' extension
    Emitting ninja build file /export/data/lwangcg/Vis-MVSNet/O-CNN/pytorch/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.6.0
    g++ -pthread -shared -B /data/lwangcg/anaconda3/compiler_compat -L/data/lwangcg/anaconda3/lib -Wl,-rpath=/data/lwangcg/anaconda3/lib -Wl,--no-as-needed -Wl,--sysroot=/ -I/export/data/lwangcg/cuda-10.2/include -I/export/data/lwangcg/cuda-10.2/include -I/export/data/lwangcg/cuda-10.2/include -I/export/data/lwangcg/cuda-10.2/include /export/data/lwangcg/Vis-MVSNet/O-CNN/pytorch/build/temp.linux-x86_64-3.7/./cpp/octree2col.o /export/data/lwangcg/Vis-MVSNet/O-CNN/pytorch/build/temp.linux-x86_64-3.7/./cpp/octree_batch.o /export/data/lwangcg/Vis-MVSNet/O-CNN/pytorch/build/temp.linux-x86_64-3.7/./cpp/octree_conv.o /export/data/lwangcg/Vis-MVSNet/O-CNN/pytorch/build/temp.linux-x86_64-3.7/./cpp/octree_pad.o /export/data/lwangcg/Vis-MVSNet/O-CNN/pytorch/build/temp.linux-x86_64-3.7/./cpp/octree_pool.o /export/data/lwangcg/Vis-MVSNet/O-CNN/pytorch/build/temp.linux-x86_64-3.7/./cpp/octree_property.o /export/data/lwangcg/Vis-MVSNet/O-CNN/pytorch/build/temp.linux-x86_64-3.7/./cpp/octree_samples.o /export/data/lwangcg/Vis-MVSNet/O-CNN/pytorch/build/temp.linux-x86_64-3.7/./cpp/point2octree.o /export/data/lwangcg/Vis-MVSNet/O-CNN/pytorch/build/temp.linux-x86_64-3.7/./cpp/pybind.o /export/data/lwangcg/Vis-MVSNet/O-CNN/pytorch/build/temp.linux-x86_64-3.7/./cpp/transform_points.o -L/export/data/lwangcg/Vis-MVSNet/O-CNN/octree/build -L/export/data/lwangcg/anaconda3/lib/python3.7/site-packages/torch/lib -L/export/data/lwangcg/cuda-10.2/lib64 -loctree_lib -lcublas -lc10 -ltorch -ltorch_cpu -ltorch_python -lcudart -lc10_cuda -ltorch_cuda -o build/lib.linux-x86_64-3.7/ocnn/nn.cpython-37m-x86_64-linux-gnu.so
    g++: error: /export/data/lwangcg/Vis-MVSNet/O-CNN/pytorch/build/temp.linux-x86_64-3.7/./cpp/transform_points.o: No such file or directory
    error: command 'g++' failed with exit status 1
    
    opened by NoOneUST 6
  • nvcc fatal : Unknown option flto

    nvcc fatal : Unknown option flto

    upon running cmake ../ as shown in installation instructions no error is encountered, however upon running cmake --build . --config Release the following error is obtained -

    [ 96%] Built target ply2points Scanning dependencies of target pyoctree [ 97%] Building CXX object python/CMakeFiles/pyoctree.dir/pyoctree.cpp.o [ 98%] Linking CUDA device code CMakeFiles/pyoctree.dir/cmake_device_link.o nvcc fatal : Unknown option 'flto' python/CMakeFiles/pyoctree.dir/build.make:84: recipe for target 'python/CMakeFiles/pyoctree.dir/cmake_device_link.o' failed make[2]: *** [python/CMakeFiles/pyoctree.dir/cmake_device_link.o] Error 1 CMakeFiles/Makefile2:1017: recipe for target 'python/CMakeFiles/pyoctree.dir/all' failed make[1]: *** [python/CMakeFiles/pyoctree.dir/all] Error 2 Makefile:83: recipe for target 'all' failed make: *** [all] Error 2

    What could be a possible reason for the same ?

    opened by aradhyamathur 6
  • Validate the model

    Validate the model

    Hello, would you like to ask how do you perform a verification test on the trained model and what kind of file is the test, is it .off or .points, or an octree file? I want to use your model for pre-train, but I have the following problem:

    Cannot copy param 0 weights from layer 'ip2'; shape mismatch. Source param shape is 40 128 (5120); target param shape is 5 128 (640). To learn this layer's parameters from scratch rather than copying from a saved net, rename the layer.

    你好,想请问您如何对训练好的模型进行验证测试,测试的档案类别为何,是.off还是.points,或是octree档

    opened by eric85810 6
  • tf codes

    tf codes

    When I run the dataset.py to get the tensor of tfrecords,the results of the tensor's shape is ?,and i do not konw how to solve it. like this: Use for ... in dataset: to iterate over a dataset. If using tf.estimator, return the Dataset object directly from your input function. As a last resort, you can use tf.compat.v1.data.make_one_shot_iterator(dataset). Tensor("octree_dataset/IteratorGetNext:0", shape=(?,), dtype=int8) Tensor("octree_dataset/IteratorGetNext:1", shape=(?,), dtype=int64) Tensor("octree_encoder/depth_2/octree_max_pool/OctreePad:0", shape=(1, 128, ?, 1), dtype=float32) is that right? when I reomove batch(batch_size) , I meet this problem: tensorflow.python.framework.errors_impl.InvalidArgumentError: Shape must be rank 1 but is rank 0 for 'ParseExample/ParseExample' (op: 'ParseExample') with input shapes: [], [0], [], [], [0], [0].

    opened by CRISZJ 6
  • how to prepare data if my point cloud has no normal information

    how to prepare data if my point cloud has no normal information

    hi i am new 1: i want to know if my point cloud has no normal information, how to prepare my input data and where i have to modify, whether is the input data channel? 2: how to convert the final result to point cloud?

    opened by gaoshang100 6
Releases(ocnn-3.0)
Owner
Microsoft
Open source projects and samples from Microsoft
Microsoft
Optimal Camera Position for a Practical Application of Gaze Estimation on Edge Devices,

Optimal Camera Position for a Practical Application of Gaze Estimation on Edge Devices, Linh Van Ma, Tin Trung Tran, Moongu Jeon, ICAIIC 2022 (The 4th

Linh 11 Oct 10, 2022
Interpretable and Generalizable Person Re-Identification with Query-Adaptive Convolution and Temporal Lifting

QAConv Interpretable and Generalizable Person Re-Identification with Query-Adaptive Convolution and Temporal Lifting This PyTorch code is proposed in

Shengcai Liao 166 Dec 28, 2022
Pointer-generator - Code for the ACL 2017 paper Get To The Point: Summarization with Pointer-Generator Networks

Note: this code is no longer actively maintained. However, feel free to use the Issues section to discuss the code with other users. Some users have u

Abi See 2.1k Jan 04, 2023
Official PyTorch implementation of the paper "TEMOS: Generating diverse human motions from textual descriptions"

TEMOS: TExt to MOtionS Generating diverse human motions from textual descriptions Description Official PyTorch implementation of the paper "TEMOS: Gen

Mathis Petrovich 187 Dec 27, 2022
Pytorch implementation of SenFormer: Efficient Self-Ensemble Framework for Semantic Segmentation

SenFormer: Efficient Self-Ensemble Framework for Semantic Segmentation Efficient Self-Ensemble Framework for Semantic Segmentation by Walid Bousselham

61 Dec 26, 2022
"Inductive Entity Representations from Text via Link Prediction" @ The Web Conference 2021

Inductive entity representations from text via link prediction This repository contains the code used for the experiments in the paper "Inductive enti

Daniel Daza 45 Jan 09, 2023
Defense-GAN: Protecting Classifiers Against Adversarial Attacks Using Generative Models (published in ICLR2018)

Defense-GAN: Protecting Classifiers Against Adversarial Attacks Using Generative Models Pouya Samangouei*, Maya Kabkab*, Rama Chellappa [*: authors co

Maya Kabkab 212 Dec 07, 2022
Fader Networks: Manipulating Images by Sliding Attributes - NIPS 2017

FaderNetworks PyTorch implementation of Fader Networks (NIPS 2017). Fader Networks can generate different realistic versions of images by modifying at

Facebook Research 753 Dec 23, 2022
A simple tutoral for error correction task, based on Pytorch

gramcorrector A simple tutoral for error correction task, based on Pytorch Grammatical Error Detection (sentence-level) a binary sequence-based classi

peiyuan_gong 8 Dec 03, 2022
Data and code for ICCV 2021 paper Distant Supervision for Scene Graph Generation.

Distant Supervision for Scene Graph Generation Data and code for ICCV 2021 paper Distant Supervision for Scene Graph Generation. Introduction The pape

THUNLP 23 Dec 31, 2022
Reimplementation of the paper "Attention, Learn to Solve Routing Problems!" in jax/flax.

JAX + Attention Learn To Solve Routing Problems Reinplementation of the paper Attention, Learn to Solve Routing Problems! using Jax and Flax. Fully su

Gabriela Surita 7 Dec 01, 2022
This program generates a random 12 digit/character password (upper and lowercase) and stores it in a file along with your username and app/website.

PasswordGeneratorAndVault This program generates a random 12 digit/character password (upper and lowercase) and stores it in a file along with your us

Chris 1 Feb 26, 2022
A self-supervised 3D representation learning framework named viewpoint bottleneck.

Pointly-supervised 3D Scene Parsing with Viewpoint Bottleneck Paper Created by Liyi Luo, Beiwen Tian, Hao Zhao and Guyue Zhou from Institute for AI In

63 Aug 11, 2022
Processed, version controlled history of Minecraft's generated data and assets

mcmeta Processed, version controlled history of Minecraft's generated data and assets Repository structure Each of the following branches has a commit

Misode 75 Dec 28, 2022
A "gym" style toolkit for building lightweight Neural Architecture Search systems

A "gym" style toolkit for building lightweight Neural Architecture Search systems

Jack Turner 12 Nov 05, 2022
Self-Correcting Quantum Many-Body Control using Reinforcement Learning with Tensor Networks

Self-Correcting Quantum Many-Body Control using Reinforcement Learning with Tensor Networks This repository contains the code and data for the corresp

Friederike Metz 7 Apr 23, 2022
2021 CCF BDCI 全国信息检索挑战杯(CCIR-Cup)智能人机交互自然语言理解赛道第二名参赛解决方案

2021 CCF BDCI 全国信息检索挑战杯(CCIR-Cup) 智能人机交互自然语言理解赛道第二名解决方案 比赛网址: CCIR-Cup-智能人机交互自然语言理解 1.依赖环境: python==3.8 torch==1.7.1+cu110 numpy==1.19.2 transformers=

JinXiang 22 Oct 29, 2022
Worktory is a python library created with the single purpose of simplifying the inventory management of network automation scripts.

Worktory is a python library created with the single purpose of simplifying the inventory management of network automation scripts.

Renato Almeida de Oliveira 18 Aug 31, 2022
Rotated Box Is Back : Accurate Box Proposal Network for Scene Text Detection

Rotated Box Is Back : Accurate Box Proposal Network for Scene Text Detection This material is supplementray code for paper accepted in ICDAR 2021 We h

NCSOFT 30 Dec 21, 2022
Object Tracking and Detection Using OpenCV

Object tracking is one such application of computer vision where an object is detected in a video, otherwise interpreted as a set of frames, and the object’s trajectory is estimated. For instance, yo

Happy N. Monday 4 Aug 21, 2022