PointSIFT 实现过程记录

论文全称:A SIFT-like Network Module for 3D Point Cloud Semantic Segmentation

会议名称:Computer Vision and Pattern Recognition (CVPR) 2018

项目地址:https://github.com/MVIG-SJTU/pointSIFT

环境配置记录

2019.10.24

1. CUDA 10.0, cuDNN 7.5.0

2. Python 3.5, h5py

3. Tensorflow-gpu 1.10.0 (作者用 v1.4.1)

4. 编译 TF operator

    a. 问题:安装 python 3.6 和 TF 1.14.0,编译不成功;

    b. 解决方法:安装 python 3.5 和 TF 1.10.0,编译成功

5. 试运行 CUDA_VISIBLE_DEVICES=0,1 python train_and_eval_scannet.py --gpu_num=2 

    import Tensorflow 库报错,寻找解决方法


2019.10.25

1. 更改 CUDA 版本

    a. 安装和作者一样的 CUDA 8,cuDNN 5.1

    b. 安装多版本Cuda 参照 https://blog.csdn.net/ksws0292756/article/details/80120561

2. 安装 Tensorflow 1.4.1

    a. 安装成功但 import tensorflow 报错

    b. 发现 TF 1.4.1 应该对应 cuDNN 6,import 成功!此处疑问作者的环境配置 TF1.4.1 搭配  cuDNN 5.1?

3. 编译 TF operator

4. 试运行 CUDA_VISIBLE_DEVICES=0,1 python train_and_eval_scannet.py --gpu_num=2

    a. 报错 InternalError: Dst tensor is not initialized. 出现这个错误一般是GPU内存耗尽。解决  办法: CUDA_VISIBLE_DEVICES=0 python train_and_eval_scannet.py --gpu_num=1

    b. 报错 ResourceExhaustedError: OOM when allocating tensor with shape[32,256,32,128] 这是 tensorflow 一个经常性错误,原因在于显卡内存不够。解决方法是降低显卡的使用内存:1)减少Batch 的大小;2)分析错误的位置,在哪一层出现显卡不够,比如在全连接层出现则降低全连接层的维度,把2048改成1042;3)增加 pool 层,降低整个网络的维度;4)修改输入图片的大小。

    c. 总结:想办法降低网络的维度。


2019.10.26

修改 batch_size=10,default = 32

CUDA_VISIBLE_DEVICES=0,1 python train_and_eval_scannet.py --gpu_num=2 --batch_size=10 --max_epoch=500 

模型保存在 ./model_param

你可能感兴趣的:(PointSIFT 实现过程记录)