论文全称: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