MinkowskiEngine安装

MinkowskiEngine安装记录

  • 参考了好多经验贴,终于在自己电脑上成功安装编译MinkowskiEngine,uu们务必看完本贴再跟着操作,有些问题放在后面解释了
  • 环境准备
    • 我的环境:
  • anaconda安装
    • 官方教程
    • 问题1:subprocess.CalledProcessError: Command ‘[‘ninja‘, ‘-v‘]‘ returned non-zero exit status 1.
    • 问题2:error: command ‘:/usr/local/cuda/bin/nvcc’ failed: No such file or directory: ‘:/usr/local/cuda/bin/nvcc’
  • 细节

MinkowskiEngine(ME)是计算稀疏张量常用的库,但是官方文档里安装这个库的坑还是蛮多的。

参考了好多经验贴,终于在自己电脑上成功安装编译MinkowskiEngine,uu们务必看完本贴再跟着操作,有些问题放在后面解释了

参考:
https://blog.csdn.net/m0_60197472/article/details/125293739

环境准备

我的环境:

ubuntu18.04
cuda版本:cuda 11.3
gcc版本:7.5.0
g++版本:7.5.0

linux查询指令:

nvcc -V
gcc --version
g++ --version

查询结果:

anaconda安装

官方教程

Anaconda
MinkowskiEngine supports both CUDA 10.2 and cuda 11.1, which work for most of latest pytorch versions.
我根据此教程流程安装:

1、这部分顺利安装
当然根据上面的经验贴,更改了安装顺序,先安装pytorch,然后再安装依赖

conda create -n 虚拟环境名 python=3.7.0
conda activate 虚拟环境名

从现在开始,所有指令走在虚拟环境中执行


# 去官网找对应的安装指令,我使用的指令与官方教程不同
conda install pytorch=1.8.0 torchvision cudatoolkit=11.1 -c pytorch -c nvidia
conda install openblas-devel -c anaconda

安装好pytorch后,最好测试一下
我一开始安装成了cpu版本的导致出错,这里可以去官网找对应的安装指令(我使用pytorch 1.8.0,cudatoolkit 11.1)

#测试一下,确保cuda可以使用
python
>>> import torch
>>> torch.cuda.is_available()
True
>>> quit()

2、开始出问题了

接下来到了Install MinkowskiEngine环节,网络问题选择本地安装
将代码下载后打开MinkowskiEngine目录

# Or if you want local MinkowskiEngine
# 这里我手动下载解压的
git clone https://github.com/NVIDIA/MinkowskiEngine.git
cd MinkowskiEngine

在执行这行python setup.py install --blas_include_dirs=${CONDA_PREFIX}/include --blas=openblas命令时,出现了两个普遍的问题。

问题1:subprocess.CalledProcessError: Command ‘[‘ninja‘, ‘-v‘]‘ returned non-zero exit status 1.

看着两位大神的解释:


解决方案:
1、 降低版本是必不可能的
2、 修改torch中的将 [‘ninja’,‘-v’]改成[‘ninja’,‘–version’] (确实解决了这个报错,但是导致程序根本不编译,后续会找不到 .o 文件,网上也很难找到别人编译好的 .o 文件,因此此方法无效)
(PS:这里还需要安装ninja才会走到这步)pip install ninja # 官方文档没说,这里依赖还需要安装ninja库

3、将MinkowskiEngine目录中 setup.py 文件中的“cmdclass={‘build_ext’: BuildExtension}”这一行改为“cmdclass={‘build_ext’: BuildExtension.with_options(use_ninja=False)}”,pytorch默认使用ninjia作为backend,这里把它禁用掉就好了;(之前的ninja白装了)

第一个报错解决后,又出来新问题:

问题2:error: command ‘:/usr/local/cuda/bin/nvcc’ failed: No such file or directory: ‘:/usr/local/cuda/bin/nvcc’


在对应路径下能找到nvcc,判断应该是环境变量路径设置有误
解决方案:

这里还有一个坑,修改环境变量后,回到了base环境,需要重新进入自己搭建的虚拟环境中运行 setup.py。

细节

执行 setup.py 需要一段时间
同时,如果在自己电脑上运行有可能会卡住
编译过程如果卡死,在setup文件里面142行左右,把12改小(我改成了4);

编译过程会报一堆warning,不影响安装,无所谓的;
安装成功后测试一下:

python
>>> import MinkowskiEngine as ME
>>> print(ME.__version__)
0.5.4

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
青葱年少的头像青葱年少普通用户
上一篇 2023年9月17日
下一篇 2023年9月17日

相关推荐