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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容