RandLA-Net复现SemanticKITTI和S3DIS数据集

之前有一篇文章写了如何复现Semantic3D数据集,现在给大家分享一下SemanticKITTI和S3DIS数据集的复现,其实复现过程和Semantic3D数据集类似,虽然数据集不同,但是都是在相同的虚拟环境下进行训练。因为RandLA-Net使用的环境为CUDA=9.0,所以我使用的也是9.0,Tf版本是1.11,其实CUDA=10.0和tf=1.1x的版本也能去训练,看个人的显卡要求吧。安装驱动的话建议在官网上安装,个人建议按照官网步骤安装并且安装版本建议低一些。
S3DIS数据集的话很多CSDN博主都会有其数据集下载的地址,它有6个Area的数据集,通过utils/中的data_prepare_s3dis.py先进行一次下采样生成original_ply文件夹,其中数据存在的形式为xyzrgbl的格式,之后在进行网格下采样,生成的ply、pkl和索引保存在input_0.040文件夹中,完成数据预处理之后就可以进行训练了。其中utils中的cpp_wrappers文件和nearest_neighbors需要先进行一下编译。这个不详细说明,可以参看我的那篇文章。
在这里插入图片描述
修改main_S3DIS里面的self.path文件路径,将路径写为上述预处理数据集的父文件夹下,然后修改Epoch和Num_points,这个看自己显存容量进行修改,我这里显卡一般,所以没有复现到RandLA-Net的70.0(mIOU)。训练的时候,论文里面的README.md里面写的是sh jobs_6_fold_cv_s3dis.sh命令,其实打开这个文件夹可以看到它是训练6个场景的数据同时进行测试,所以如果执行这个命令的话你会发现要跑好几天的代码(显卡一般的情况下),所以如果不想浪费时间的话可以一个场景一个场景(area)的进行训练,测试后生成的ply文件放到
父文件夹中的results(自己创建的)文件夹中,然后执行6-fold交叉验证程序,就可以得到测试的mIOU和Acc,可以着重对S3DIS数据集中的Area5地区进行训练,这个场景比较具有挑战性。
在这里插入图片描述
对于SemanticKITTI数据集,该数据集比较庞大,所以对它进行预处理的时候最好找一个显卡内存比较大的进行处理,它一共有22文件夹,其中00-07和09-10用于训练,08用于验证,11-21用于官网提交在线测试,训练过程和其他两个数据集都类似,都是将数据集的路径进行修改,然后进行训练,可能我显卡太次,所以我训练过程耗费时间特别长,训练的时候可以考虑下Epoch 的选取问题。训练完之后,利用测试py程序对其进行测试,生成的11-21的文件,通过SemanticKITTI官网进行在线测试(这个网址需要先进行注册,而且一般的QQ邮箱注册不了,有坑这里)查看测试的结果。

<think>好的,我现在需要帮助用户解决在Ubuntu 20.04上调整RandLA-Net数据路径的问题。用户已经参考了几个引用,涉及到代码克隆、环境配置数据集的设置。首先,我需要理清RandLA-Net的配置文件数据集路径的设置位置。 根据引用[1][3],用户克隆了RandLA-Net的代码仓库,并且创建了conda环境。数据路径的修改可能涉及到代码中的配置文件或数据集加载的脚本。通常,深度学习框架如TensorFlow或PyTorch的数据路径会在配置文件中指定,或者在数据加载的Python脚本中设置。 接下来,我需要确定RandLA-Net的具体结构。查看引用中的信息,用户提到复现的是SemanticKITTIS3DIS数据集,所以可能需要检查数据预处理部分的代码。例如,在数据加载的模块中,可能会有变量或常量定义数据集的根目录。用户需要修改这些路径指向自己的数据集位置。 可能的步骤包括: 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]。 ---
评论 37
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小刘正在努力

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值