Ubuntu18.04/20.04复现算法RandLa-net 数据集S3DIS

原本打算先复现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博客

 

<think>好的,我现在需要帮助用户解决在Ubuntu 20.04上调整RandLA-Net数据路径的问题。用户已经参考了几个引用,涉及到代码克隆、环境配置和数据集的设置。首先,我需要理清RandLA-Net的配置文件和数据集路径的设置位置。 根据引用[1]和[3],用户克隆了RandLA-Net的代码仓库,并且创建了conda环境。数据路径的修改可能涉及到代码中的配置文件或数据集加载的脚本。通常,深度学习框架如TensorFlow或PyTorch的数据路径会在配置文件中指定,或者在数据加载的Python脚本中设置。 接下来,我需要确定RandLA-Net的具体结构。查看引用中的信息,用户提到复现的是SemanticKITTI或S3DIS数据集,所以可能需要检查数据预处理部分的代码。例如,在数据加载的模块中,可能会有变量或常量定义数据集的根目录。用户需要修改这些路径指向自己的数据集位置。 可能的步骤包括: 1. 查找配置文件:例如configs目录下的yaml或json文件,可能包含数据集路径的设置。 2. 检查数据加载脚本:在data_utils或类似的目录中,可能有Python脚本负责加载数据,里面硬编码了数据路径。 3. 环境变量或命令行参数:有些项目允许通过环境变量或运行脚本时的参数指定数据路径。 需要提醒用户备份原始文件,避免修改错误导致的问题。另外,注意路径的权限问题,确保脚本有权限访问新的数据路径。如果数据集结构不同,可能还需要调整数据预处理步骤,确保文件结构符合代码预期。 用户可能需要修改的具体文件可能如prepare_S3DIS.py或类似的预处理脚本,或者在训练脚本中指定的路径。例如,在引用[3]中提到的工程文件里,可能会有设置数据路径的地方。用户需要找到类似DATA_PATH = '/path/to/dataset'的代码行,并替换为自己的路径。 另外,根据引用[2],用户需要注意Ubuntu版本和CUDA版本的兼容性,但这个问题主要影响环境配置,可能和数据集路径无关。不过,确保环境正确配置是复现的前提,所以用户可能需要先确认环境没问题,再调整数据路径。 总结步骤应该是:定位数据路径配置的位置,修改为正确的路径,运行预处理脚本(如果有的话),然后进行训练测试。如果用户遇到路径错误,可能需要检查路径是否正确、绝对路径还是相对路径,以及文件夹权限是否正确。</think>在Ubuntu 20.04上调整RandLA-Net的数据路径需要修改配置文件和数据加载模块,具体步骤如下: --- ### 步骤1:定位配置文件 根据引用[1][3],RandLA-Net的配置文件通常位于`configs`目录下。以S3DIS数据集为例: 1. 打开`configs/s3dis_config.yaml` 2. 找到数据路径配置项,例如: ```yaml dataset: train_dir: '/原始路径/S3DIS' # 修改为实际路径 test_dir: '/原始路径/S3DIS_test' # 修改为实际路径 ``` --- ### 步骤2:修改数据加载脚本 在数据预处理模块中(如`data_utils/S3DIS.py`): ```python # 修改数据根目录变量 DATA_PATH = '/home/your_username/datasets/S3DIS' # 更新为自定义路径[^3] ``` --- ### 步骤3:验证路径权限 确保新路径具有读取权限: ```bash sudo chmod -R 755 /your/custom/path # 若数据集存储在系统保护目录下需要执行[^4] ``` --- ### 步骤4:运行预处理脚本 重新生成预处理数据(以S3DIS为例): ```bash python utils/prepare_S3DIS.py --data_dir /your/custom/path # 根据项目结构可能有参数差异[^2] ``` --- ### 路径修改示例 假设新数据集路径为`/media/data/S3DIS`: ```diff # configs/s3dis_config.yaml dataset: - train_dir: '/opt/datasets/S3DIS' + train_dir: '/media/data/S3DIS' ``` --- ### 验证配置 运行最小测试案例: ```bash python test.py --cfg configs/s3dis_config.yaml ``` 成功输出数据加载日志即表示路径配置正确[^1][^3]。 ---
评论 64
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值