GPU3090 + CUDA12
1、代码 [github地址][变体]
git clone --depth=1 https://github.com/QingyongHu/RandLA-Net && cd RandLA-Net
2、虚拟环境中配置:
在跑代码的时候出现错误:open3d.so文件中函数报错。查看open3d版本发现不是要求的0.3版本,在安装旧版本时发现python3.7不再支持旧版本。因此考虑降版本。[参考]
刚开始装python3.7,报错,改成python3.6成功!
conda create -n randlanet python=3.6
source activate randlanet
cuda11.3
conda search cudatoolkit --info
conda install cudatoolkit=11.3
cudnn:
conda search cudnn --info
conda install cudnn=8.2.1
选择tensorflow-2.6.0[参考][tersorflow版本对应]
pip install tensorflow-gpu==2.6 -i https://pypi.tuna.tsinghua.edu.cn/simple --timeout=120
最后环境配置完成:
pip install -r helper_requirements.txt
sh compile_op.sh
准备数据集,将data_prepare_s3dis.py路径修改为自己数据集路径,执行下面代码生成input_0.040和original_ply
python utils/data_prepare_s3dis.py
RandLA-Net作者在github上发布的是tensorflow1.11, 要在tensorflow2.0环境下训练tensorflow1.0的代码只需要在导入tensorflow时做下修改。将main_Semantic3D.py、RandLANet.py、helper_tf_util.py文件中的[参考]
import tensorflow as tf
修改为(屏蔽tf2的操作):
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
显示无compat module,解决办法为[参考]:
# import tensorflow.compat.v1 as tf
import tensorflow._api.v2.compat.v1 as tf
tf.disable_v2_behavior()