KPConv(pytorch)复现
最近刚看了相关的点云分割数据,准备吧KPConv跑通,用的是服务器,已经装好的11.7的CUDA,链接在github上。
装环境
已有CUDA,对照着装torch即可,还有官方代码中的INSTALL.md,对着安装即可。最后是有一布编译,linux和windows有不同的方法。windows上可能有些跟官方说的不一样,这里给出一种尝试
python setup.py build_ext --inplace
这样windows上的就OK了,需要在两个文件夹分别执行,而且生成文件的名称需要改一下,看一下源码里是怎么写的,改好就行了,linux生成的文件也一样,要不然跑不起来,报错找不到。
点云分割训练
在doc文件夹里面有对应不同训练的说明文件,按照说明执行即可
文件存放位置
这里有点乱,说明中是按照linux文件放置的,我在这里用windows说明一下。比方说,我的文件是这样设置的:
E:\github_code\KPConv-PyTorch-master
那么我的数据应该放在
E:\Data\S3DIS
还有一点就是,S3DIS这里是数据,Area_1,Area_2…类似这样的文件夹
下面开始训练
什么参数都别动!!!
我就是很手贱,改了一下batch,一直在报错
print("ERROR: It seems that the calibration have not reached convergence. Here are some plot to understand why:")
print("If you notice unstability, reduce the expected_N value")
print("If convergece is too slow, increase the expected_N value")
这里主要与上面的breaking有关,设置成了false就会执行上面的,但是他也给出了相应的调整方案,但是我调了很久都不是很合适。
下面的代码主要是与breaking相关:
if finer and np.max(np.abs(smooth_errors)) < converge_threshold:
breaking = True
break
下面就可以训练了,我还在训练中,基本的占用在3G到5G显存,不是很高。
训练还没结束
等结束了,写一下分割结果。。。
未完待续。