pointMLP代码复现流程

注:系统为ubuntu24.04

注:此为我本人的复现流程及遇到的问题,新手小白一枚,本文档目的是自我存档。如还有问题,欢迎指出。

源代码:https://github.com/ma-xu/pointMLP-pytorch.git

源代码READMER如下:

1. 下载代码

打开终端,输入git clone https://github.com/ma-xu/pointMLP-pytorch.git,等待即可

下载完成后,进入该文件目录,终端中输入cd pointMLP-pytorch;或者在主文件夹中找到下载的pointMLP-pytorch,点击进入后,右击选择“在终端中打开”。

2. 创建虚拟环境

使用第二种方法创建:在终端中输入

conda create -n pointmlp python=3.7 -y
conda activate pointmlp

3. 配置环境

注意:

conda install pytorch==1.10.1 torchvision==0.11.2 cudatoolkit=10.2 -c pytorch -y

README中的这条代码需要替换与你本机CUDA版本相同的pytorch,不然的话,安装pip install pointnet2_ops_lib/.时,会一直报错。

安装包:

pip install cycler einops h5py pyyaml==5.4.1 scikit-learn==0.24.2 scipy tqdm matplotlib==3.4.2

这些包直接pip一般都没有问题,如出现问题,请更新pip版本,使用命令

pip install --upgrade pip

安装 pointnet2_ops_lib:

输入命令:

pip install pointnet2_ops_lib/.

可能报错:ERROR: Failed building wheel for pointnet2-ops

情况一:CUDA版本不适配

再次强调虚拟环境的CUDA版本必须要和本级的CUDA版本一样!!!

注意:虚拟环境中python版本为3.7,本机中的的CDUA不要安装的版本号太新,太新的话,在此虚拟环境中无法安装。

举例:以我的电脑为例

在终端中输入: nvcc -V ,得到如下:

看到第五行:Cuda compilation tools, release 11.3, V11.3.58,得到本机CUDA版本为CUDA11.3

然后,进入pytorch官网:Start Locally | PyTorch

找到与你本机相同的CDUA版本安装Previous PyTorch Versions | PyTorch,我这里是CUDA11.3

我输入指令:

conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 -c pytorch

然后,再次安装

pip install pointnet2_ops_lib/.

情况二:gcc版本不适配

如果检查好版本,虚拟环境与本机中的CUDA版本确实一致,pip install pointnet2_ops_lib/.还是报错,需要检查gcc版本,版本太高时需要降低。

检查gcc版本:输入

gcc --version

得到:

gcc版本太高,需降低,输入:

sudo apt-get install gcc-10 g++-10

降低后应用,输入:

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 10

最后,再次安装包 pip install pointnet2_ops_lib/.成功。

 至此,所有环境配置完成,开始训练。

可能训练报错:

CUBLAS_STATUS_INVALID_VALUE when calling `cublasSgemmStridedBatched( handle, opa, opb, m, n, k, &alpha, a, lda, stridea, b, ldb, strideb, &beta, c, ldc, stridec, num_batches)`

解决方法:在此终端中输入:

unset LD_LIBRARY_PATH

再次输入训练命令即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值