最近在安装了一些库之后,电脑系统崩溃,之前调通的代码几乎都不能正常运行,之前一直觉得是环境版本配置问题,故重装系统与环境多次,但都不起作用,摸索很久后,代码终于能正常运行,故做此记录。
本机配置:系统:Ubuntu 18.04;CUDA:11.2;cudnn:8.1.0
环境:python3:3.6.8;virtualenv环境,pytorch:1.8.0
注:编译在未安装ninja的情况下进行
运行以下命令:
> cd pointenet2
> python setup.py install
会出现类似以下的页面,其中会有错误问题的显示:
首先解决的第一个问题:
error: 'AT_CHECK' was not declaredin this scope
解决办法:pointnet2/_ext_src/src 中的所有.cpp文件以及pointnet2/_ext_src/include中的utils.h中所有的 ‘AT_CHECK’ 改为 'TORCH_CHECK',
同时,将所有的 '**.type().is_cuda()' 改为 ‘**.is_cuda()’
error:Tensor.data<T> is deprecated. Please use Tensor.data_ptr<T> instead()
解决办法:将所有 .cpp 文件中,‘**.data<float/int>()’ 修改为:‘**.data_ptr<float/int>()’
修改完成后,再次运行:> python setup.py install
出现以下界面,即编译成功:
此时,在pointnet2文件夹下会出现以下文件:
随即可开始train
参考链接(如有侵权,必删):
https://github.com/erikwijmans/Pointnet2_PyTorch/commit/1d5dca2673ee2831b9b01efe597b2ba8d12726f1