当前位置:   article > 正文

MinkowskiEngine安装避坑

minkowskiengine

【ubuntu】MinkowskiEngine安装

1. 简介

Minkowski 引擎是稀疏张量的自动微分库。它支持所有标准的神经网络层,例如稀疏张量的卷积、池化、反池化和广播操作。
因实验需要, 笔者先后在ubuntu18.04和Ubuntu20.04中配置了MinkowskiEngine,现将遇到的一些问题进行存档。所述内容仅供参考,如有不对的地方也请大佬指正。

2. 安装流程

笔者个人建议直接采用conda安装,具体安装步骤可以参照官网链接: MinkowskiEngine.

注意事项

有博主指出:要先安装pytorch再安装openblas-devel,而不是像官方这样,因为先安装openblas-devel,之后安装pytorch可能会报版本不兼容的错。但笔者安装openblas-devel后,原本环境中的pytorch失效,无奈只能卸载并重新安装的pytorch。因此建议先安装openblas-devel ,运行指令:

conda install openblas-devel -c anaconda # 安装依赖
  • 1

再安装pytorch,运行指令:

conda install pytorch=1.9.0 torchvision cudatoolkit=11.1 -c pytorch -c nvidia
# -c anaconda/-c nvidia 表示从指定官网中下载,具体pytorch版本需要参照cuda版本
  • 1
  • 2

其次,在执行安装MinkowskiEngine指令之前,需要配置ninja库以防止出现问题2,而官方文档并未指明。

pip install torch ninja
  • 1

安装完成之后测试一下是否能正常导入MinkowskiEngine:

python
>>> import MinkowskiEngine as ME
>>> print(ME.__version__)
0.5.4
  • 1
  • 2
  • 3
  • 4

3. 避坑

g++与gcc问题

Cudn10.1\10.2需要指定版本>=7.4.0且<8,因此个人建议7.5.0;Cudn>=11.0时,没有特定要求。因此在cudn10.X的环境下需要执行:

export CXX=g++-7
  • 1

而在cudn11.X的环境下无需执行。
关于g++与gcc的配置与版本切换,可以参照下文 gcc/g++傻傻分不清?如何实现ubuntu多版本gcc/g++切换.

ninja: build stopped: subcommand failed.

ninja是一种编译工具,类似cmake,这里很爱使用ninja对torch库进行编译。出现上述报错往往是因为torch 、torchvision 、ninja版本问题,torch版本与ninja版本不匹配,无法满足对torch库的编译。
解决办法:安装最新版本的ninja:

pip install torch ninja
  • 1

参考博客:pytorch配置安装 ninja报错:ninja: build stopped: subcommand failed.(个人趟坑).

nvcc fatal : Unsupported gpu architecture ‘compute_86‘

compute_86 是说当前 GPU 3090 的算力是 8.6,而当前 CUDA 11.0 不支持算力 8.6。
关于 GPU 算力和 CUDA 算力的关系是:CUDA 支持的最高算力要大于等于GPU本身的算力,CUDA 10.x 最高支持算力为 7.x,CUDA 11.x 最高支持算力为 8.x。
解决方案: 设置环境变量,降低算力要求。

# 打开配置文件
vi ~/.bashrc
# 在配置文件中添加如下一行
export TORCH_CUDA_ARCH_LIST="8.0"  # 因为是CUDA11.0,对应的算力为8.0
# 保存后source更新
source ~/.bashrc
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在更改算力时,有时需要把引号去掉,即:

export TORCH_CUDA_ARCH_LIST=8.0
  • 1

原文链接:https://blog.csdn.net/qq_31347869/article/details/123348901

raise RuntimeError(message) from e

RuntimeError: Error compiling objects for extension

很多同学的最后报错信息为“raise RuntimeError(message) from e RuntimeError: Error compiling objects for extension” ,如下图所示,但其错误原因往往是因为第二条和第三条,可以上翻报错信息进行查看。
在这里插入图片描述

安装过程卡顿、卡死

如果是个人电脑,CPU核数不够多的,安装之前先把并行安装的thread数降低,否则会导致进程卡死;即把setup.py文件内位于142行的MAX_COMPILATION_THREADS变量值从12改成4。若是实验室服务器配置比较好的可以忽略此步骤。
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Li_阴宅/article/detail/1014900
推荐阅读
相关标签
  

闽ICP备14008679号