本帖推荐指数: 1/10
文章目录
- 一、本地环境
- 二、环境配置
- 三、代码修改
- 四、代码运行介绍
注:精选的帖子是个人评估觉得耗时较长,因此加入了收费专栏,如有读者不满意望谅解!
一、本地环境
- ubuntu 20.04
- cuda 11.8
- Python 3.8
- PyTorch 2.0.0
注:注意cuda的版本需要和ubuntu版本之间存在兼容性,过高或者过低版本的cuda版本会与20.04不兼容。
二、环境配置
$ conda create -n dipole python=3.8
$ conda activate dipole
$ pip install torch==2.0.0 torchvision==0.15.1 torchaudio==2.0.1 --index-url https://download.pytorch.org/whl/cu118
$ pip install torch-scatter -f https://pytorch-geometric.com/whl/torch-2.0.0+cu118.html
$ pip install torch-sparse -f https://pytorch-geometric.com/whl/torch-2.0.0+cu118.html
$ pip install torch-geometric
$ pip install torch-cluster -f https://pytorch-geometric.com/whl/torch-2.0.0+cu118.html
$ pip install torch-spline-conv -f https://pytorch-geometric.com/whl/torch-2.0.0+cu118.html
$ pip install open3d
$ pip install argparse
三、代码修改
由于这里用的pytorch大于1.9,导致源代码中有些地方需要修改,具体修改如下:
util.py
文件中(因为torch.symeig这个函数在1.9以后得版本就不存在啦):
第148行修改为:
# e, v = torch.symeig(cov, eigenvectors=True)
e, v = torch.linalg.eigh(cov)
第155行修改为:
# e, v = torch.symeig(cov, eigenvectors=True)
e, v = torch.linalg.eigh(cov)
同理,inference_utils.py
文件中第57行修改为:
# e, v = torch.symeig(cov, eigenvectors=True)
e, v = torch.linalg.eigh(cov)
四、代码运行介绍
修改后的代码:网址
├── activate_env.sh
├── Batch
│ ├── large_bdy.sh
│ ├── large_left.sh (修改并运行这个文件)
│ ├── large.sh
│ ├── large_stanford_noise.sh
│ ├── large_stanford.sh
│ ├── large_threeDScans_noise.sh
│ └── large_threeDScans.sh
├── Tools
│ └── Batch_out_2_ply.py (这个工具能够将算法得到的结果转化为ply文件)
├── ...
└── util.py