第一步,克隆项目
git clone https://github.com/QingyongHu/RandLA-Net
第二步,创建Python虚拟环境
虽然文档给的要求是Python3.5
,但是我实际踩坑一遍发现是要Python3.6
才好使。
Miniconda3的部署方法可以看我之前的文章。
conda create -n randlanet python=3.6
第三步,安装依赖
由于项目给的helper_requirements.txt
依赖,我实际安装后还是缺东西,所以建议保存以下文本为requirements.txt
安装。tensorflow的版本不对会导致项目无法运行,我根据项目发布的时间和tensorflow不同版本发布的时间进行推断,并且进行了数次不同版本的测试,确定1.15.0
版本的tensorflow是可以使用的版本。
tensorflow-gpu==1.15.0
tensorflow==1.15.0
numpy==1.16.1
h5py==2.10.0
cython==0.29.15
open3d-python==0.3.0
pandas==0.25.3
scikit-learn==0.21.3
scipy==1.4.1
PyYAML==5.4
然后在pip指导文件安装依赖。
pip install -r requirements.txt
安装好依赖后,根据项目的需要还要编译一个文件,在项目文件夹内执行以下命令编译:
sh compile_op.sh
第四步,放置训练数据集
这里要注意!项目说明文档说数据集放在/data/S3DIS
,这个路径是根目录,不是在项目文件夹创建data/S3DIS
这个目录!同时不要忘了改一下文件夹的权限,以下命令要切换到root:
su
mkdir /data
mkdir /data/S3DIS
chmod -R 777 /data/*
后面我发现其实可以用ln
命令创建软连接:
cd /data
ln -s /run/media/chocola/6T-DATA/Projects/RandLA-Net/data/S3DIS/ S3DIS
这个坑一开始我也掉进去了,想不明白为什么非要放在/data
文件夹,取项目所在文件夹再创建目录不好吗,非要塞到/
根分区里面,无语。
可以拿他给的实例数据进行测试训练,由于根据项目给的实例数据需要填表才能获取下载连接,我在这里直接给出下载的连接:https://cvg-data.inf.ethz.ch/s3dis/
下好他的数据集并且放到/data/S3DIS
这个目录下就可以开始后面的各项工作了。