原本打算先复现Pointnet++的,现在RandLa-net的性能吊打Pointnet++,先复现这个吧,Pointnet++以后再做。
在大场景三维点云语义分割算法中,RandLA-net是很有代表性的算法,而且很适合落,原论文代码的环境是python3.5+tensorflow1.11+cuda9,而cuda9是不能在显卡RTX3080上跑通的。
环境搭建:Ubuntu18.04复现RandLA-net网络 环境搭建 记录_Parkerfive的博客-CSDN博客
本片博客指引:在RTX 3090上复现点云语义分割算法RandLA-net_lucky li的博客-CSDN博客
感谢指引,侵删。代码为大佬改编更新。
Ubuntu18.04或者Ubuntu20.04任选一 —> 搭配cuda11.4或者cuda11.3任选一 --> 配合tf2.6都是可以的,博主装了几遍系统都亲测过,不过cuda和cudnn安装的版本要和ubuntu版本对应。
1.下载代码
git clone --depth=1 https://github.com/luckyluckydadada/randla-net-tf2.git
2.创建环境
conda create -n randlanet python=3.6
3.进入环境
conda activate randlanet
从现在开始都在环境内操作在终端的命令前有(randlanet):
pip install tensorflow-gpu==2.6 -i https://pypi.tuna.tsinghua.edu.cn/simple --timeout=120
安装了很多包
安装完成如下:
4.安装需要支持:
注意路径进入randla-net-tf2文件夹,这里是安装一些工具。【打开helper_requirements.txt可看】
pip install -r helper_requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple --timeout=120
完成后如下:
如有问题可再次安装一遍。
5.注意路径进入randla-net-tf2文件夹下,再运行:
sh compile_op.sh
6.数据集介绍和下载:
大场景室内点云标注数据集S3DIS介绍_lucky li的博客-CSDN博客_s3dis
点云数据集_zhulf0804的博客-CSDN博客_点云数据集
下载后数据集存放位置:家目录/data/S3DIS下。
ls ~/data/S3DIS/Stanford3dDataset_v1.2_Aligned_Version
同上皆是环境内,randla-net-tf2文件夹下运行:
7.运行代码生成需要文件。
python utils/data_prepare_s3dis.py
python utils/data_prepare_s3dis.py # 通过Stanford3dDataset_v1.2_Aligned_Version 生成input_0.040和original_ply
8.训练 area2~5 :
python -B main_S3DIS.py --gpu 0 --mode train --test_area 1
应该会出现下列问题:
问题:
WARNING:tensorflow:From /home/siasun18/anaconda3/envs/randlanet/lib/python3.6/site-packages/tensorflow/python/compat/v2_compat.py:101: disable_resource_variables (from tensorflow.python.ops.variable_scope) is deprecated and will be removed in a future version.
原因:应该是源码用的版本比较老的原因吧,可以不用管。
问题:AlreadyExistsError: Another metric with the same name already exists.
解决:就是keras问题:tensorflow2.6.0安装 another metric with the same name already exists_qq_45759229的博客-CSDN博客
再次运行:
问题:epoch 0 不往下运行了:
往下划可以看到oom(爆显存了):资源耗尽,1块RTX3080显卡共10G显存不够用了
解决:修改源代码:
打开/home/siasun18/randla-net-tf2/helper_tool.py文件,51行" batch_size = 6" 改小,改成
"batch_size = 4" , "train_steps = 750" 即可,显存不够batch_size可以再改小。
再次执行:
python -B main_S3DIS.py --gpu 0 --mode train --test_area 1
可以训练了
9.预测area1:
python -B main_S3DIS.py --gpu 0 --mode test --test_area 1
10.可视化操作:
python vis_S3DIS.py #在vis_S3DIS.py文件里2处把家目录后面的用户名文件目录改成自己的
左边:原始点云 右边:预测点云
参考文献:
在RTX 3090上复现点云语义分割算法RandLA-net_lucky li的博客-CSDN博客
Original: https://blog.csdn.net/Parkerfive/article/details/123431266
Author: Parkerfive
Title: Ubuntu18.04/20.04复现算法RandLa-net 数据集S3DIS

随笔记录——NLP与ASR的数据增强

Tensorflow是干什么的?基础入门(安装配置、项目和应用开发、组件和工作原理)

关于 Delphi 中流的使用(1) 用 TMemoryStream(内存流) 入门

STM32智能小车——超声波测距模块

练习2:逻辑回归Python

AI+智慧知识服务生态体系研究设计与应用

tensorflow2.3实现PPLCNet——一个速度更快、准确率更高的轻量级骨干网络

离线语音蓝牙设计应用案例

数字图像处理—低高通滤波实验(MATLAB实现)

tensorflow学习笔记 (三)

【安装学习】安装Cartographer ROS(noetic)

数据分析总结

AI:人工智能的多模态融合模型的简介、发展以及未来趋势

【HMS Core】【FAQ】运动健康、音频编辑、华为帐号服务 典型问题合集7
