文章阅读:https://blog.csdn.net/landingu/article/details/135388065?spm=1001.2014.3001.5501
参考文献:https://doi.org/10.1016/j.jag.2022.103150
源代码:https://github.com/martianxiu/DS-Net
以上代码下载解压后在云服务器中进行的调试
注意事项:
1.环境:
The code is tested using Python 3.11 and CUDA 11.8.
原代码中给定的环境要求,推荐使用4090显卡,cuda必须11.8及以上,否则后面会报错,python用3.8好像也行
步骤:
1.环境
创建环境:
python3 -m venv ~/venv/DS-Net
激活环境
source ~/venv/DS-Net/bin/activate
安装torch
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
安装依赖包
pip3 install h5py pyyaml tensorboardx scipy plyfile
源代码给的包不全,后续又自己安装了SharedArray,deepspeed,代码:
pip3 install SharedArray
pip3 install deepspeed
安装自定包
cd lib/pointops
python3 setup.py install
原文给的文件夹路径不对,注意删除,此外,安装后依然会提醒找不到pointops_cuda, 这里好像是包文件有问题。
解决方法为:在环境(一般为’/root/venv/DS-Net/lib/python3.8/site-packages’)中将一个pointops_cuda开头egg结尾的文件夹名字改成pointops,然后将**'lib/pointops/functions/pointops.py’文件中的import pointops_cuda改成import pointops.pointops_cuda as pointops_cuda**
2.数据下载
下载连接:https://drive.google.com/file/d/14RKHsmBdTRNrecDXCDgprgmaC6wRrGyL/view?usp=sharing
下载后的h5文件直接放在dataset文件夹下
(该数据集以二进制形式存储,本人拆分后如下所示)
数据集整体情况
未损毁建筑
损毁建筑
3.训练代码
sh tool/train.sh your_experiment_name config_name
其中your_experiment_name改成自己的实验名,config_name可以用直接改成config
这个时候有概率会报一个bug找不到包,排除没有安装某个包的情况后,在train.py脚本的import sys下面加一句:
sys.path.append('/root/venv/DS-Net/lib/python3.8/site-packages')#中间的路径改成自己装包的路径
做完之后重新训练就好了,训练结果保存在exp文件夹里面的
4.测试
和训练过程大同小异
sh tool/test.sh your_experiment_name config_name
一样需要改your_experiment_name和config_name
5.测试结果
好像没有可视化结果的代码…有时间自己写