Pointnet2_PyTorch Github代码链接: https://github.com/erikwijmans/Pointnet2_PyTorch【erikwijmans】
其中pointnet2_ops_lib需要单独配置。Point Cloud Transformer, SnowflakeNet, PointTr等点云深度学习相关的源码中都有出现。
在满足源码Requirements的环境后,在pytorch环境中CD到 pointnet2_ops_lib所在目录,然后运行 pip install pointnet2_ops_lib/.
可能会出现报错。错误信息很多,可能包括:
ninja: build stopped: subcommand failed.
Error checking compiler version for cl: [WinError 2] 系统找 不到指定的文件。
subprocess.CalledProcessError: Command ‘[‘ninja’, ‘-v’]’ returned non-zero exit status 1.
ValueError: underlying buffer has been detached
Building wheel for pointnet2-ops (setup.py) … error
error: subprocess-exited-with-error
Command errored out with exit status 1:
错误太多,就不一一列举了
原因很有可能是C++编译过程中出现的问题。
本人的解决方法:降低Visual Studio版本。在尝试安装各种.whl文件、安装包,更改环境变量,尝试不同pytorch版本依然配置失败后,将VS2019降至2017,居然成功了!整整搞了两天啊,居然是VS的问题。。。
本人的环境配置:pytorch=1.7.1,CUDA=10.1,python=3.7
(最低的pytorch版本至少为1.4或1.5,同时还要看你所参考的源码,这里我尝试1.5和1.6进行配置都没有成功,原因未知)
pointnet2_ops_lib配置成功提示:
参考博客:
【pytorch c++混编报错 Error checking compiler version for cl: [WinError 2] 系统找 不到指定的文件】
【Point Cloud Transformer(PCT)代码实现】