欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Pointsift复现

程序员文章站 2024-03-15 10:34:53
...

PointSIFT是3D语义分割

先看效果
Pointsift复现
论文地址:http://www.mvig.org/publications/pointSIFT.html
代码地址:https://github.com/MVIG-SJTU/pointSIFT

数据集需要单独下载,下载后创建一个data文件夹,把解压文件放入即可

数据集:https://shapenet.cs.stanford.edu/media/scannet_data_pointnet2.zip

训练流程readme已经给出了足够详细的步骤,这里给出最关键的几步

要手动更改所有的.sh文件,更改里面的tensorflow路径

1.查看自己的tensorflow路径

    import tensorflow as tf
    # include path
    print(tf.sysconfig.get_include())
    # library path 
    print(tf.sysconfig.get_lib())

2.更改所有.sh文件中的路径,这里给出一个修改示例
pointSIFT/tf_utils/tf_ops/sampling/tf_sampling_compile.sh

原code:


#/bin/bash
/usr/local/cuda-8.0/bin/nvcc tf_sampling_g.cu -o tf_sampling_g.cu.o -c -O2 -DGOOGLE_CUDA=1 -x cu -Xcompiler -fPIC

#tf1.2
#g++ -std=c++11 tf_sampling.cpp tf_sampling_g.cu.o -o tf_sampling_so.so -shared -fPIC -I /usr/local/lib/python2.7/dist-packages/tensorflow/include -I /usr/local/cuda-8.0/include -lcudart -L /usr/local/cuda-8.0/lib64/ -O2 -D_GLIBCXX_USE_CXX11_ABI=0

 TF1.4
g++ -std=c++11 tf_sampling.cpp tf_sampling_g.cu.o -o tf_sampling_so.so -shared -fPIC -I /home/jmydurant/anaconda3/envs/pointsift/lib/python3.5/site-packages/tensorflow/include -I /usr/local/cuda-8.0/include -I /home/jmydurant/anaconda3/envs/pointsift/lib/python3.5/site-packages/tensorflow/include/external/nsync/public -lcudart -L /usr/local/cuda-8.0/lib64/ -L/home/jmydurant/anaconda3/envs/pointsift/lib/python3.5/site-packages/tensorflow -ltensorflow_framework -O2 -D_GLIBCXX_USE_CXX11_ABI=0

TensorFlow版本为1.4及以上只需修改对应部分:

更改后为:(工作站不能传文件使用图片)
Pointsift复现

3.更改完/tf_ops文件夹中.sh文件所有路径后,开始编译:

    cd tf_utils/tf_ops/sampling
    chmod +x tf_sampling_compile.sh
    ./tf_sampling_compile.sh

4.编译所有sh文件后开始训练(记得更改batch_size)

15个小时只跑了70个epoch,是真的慢
Pointsift复现

因为刚跑通代码就换方向了,所以这里3D分割半道崩卒~~

相关标签: 语义分割