MinkowskiEngine安装与配置
摘要: 本文是关于一个巨麻烦的库MinkowskiEngine的安装与配置。在当前时间下,许多新版本的库和系统都用不了这个工具,所以作者甚至直接release了一个docker环境。真的巨麻烦!
〓 Table of Contents 〓
MinkowskiEngine简介
The Minkowski Engine is an auto-differentiation library for sparse tensors. It supports all standard neural network layers such as convolution, pooling, unpooling, and broadcasting operations for sparse tensors.
update information
- 2021-08-11 Docker installation instruction added
- 2021-08-06 All installation errors with pytorch 1.8 and 1.9 have been resolved.
- 2021-04-08 Due to recent errors in pytorch 1.8 + CUDA 11, it is recommended to use anaconda for installation.
- 2020-12-24 v0.5 is now available! The new version provides CUDA accelerations for all coordinate management functions.
功能简介
The Minkowski Engine supports various functions that can be built on a sparse tensor. We list a few popular network architectures and applications here. To run the examples, please install the package and run the command in the package root directory.
安装部署流程
仅仅按照官方文档里去安装这个库的坑非常多 ,这个博主总结的比较全面
安装ME之前先确定cuda版本,建议使用cuda11.1,这是多次尝试之后最靠谱的版本!
在Nvidia官网找到cuda-11.1的下载命令:Nvidia官网
1 | wget https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda_11.1.0_455.23.05_linux.run |
安装cuda之前,具有确认gcc版本, 建议使用gcc-7.5.0
gcc/g++的版本不能过高,否则安装ME库的时候也无法编译,官方要求版本>=7.4.0,实际使用7.5.0到8.0.1都没问题,建议不要高于9.5.0。
我尝试通过常规源码包编译的方式安装编译gcc-7.5.0失败。最终通过conda-forge工具解决了这个问题,这也拓展了我的思路,可能很多项目的c++库都用conda-forge或者conda来管理才是最明智的选择。
使用conda-forge来安装编译gcc-7.5.0
虽然conda不直接提供特定版本的gcc,但conda-forge有提供跨平台的编译工具链:
1 | conda install -c conda-forge gcc_linux-64=7.5.0 |
这种方式在安装时会处理所有的依赖问题,并且方便在conda环境中进行管理。
安装完成后, 更新系统路径
单单是conda安装完成是不够的,现在系统默认还是使用的是原来的gcc,必须将上述conda forge安装的gcc路径放在系统路径的前置位置,确保Conda环境中的gcc优先于系统默认的gcc,这样才会默认使用这个gcc。
步骤:
激活环境
conda activate your_env_name
查找GCC和G++的实际路径:
1
2conda list gcc
conda list gxx查找GCC的二进制路径
1
2find $(conda info --base)/envs/your_env_name -name gcc
find $(conda info --base)/envs/your_env_name -name g++例如,我找到我的新安装的gcc所在的位置是:
/ssddata/lijiawei421/env/miniconda38/envs/openscene/libexec/gcc/x86_64-conda-linux-gnu/7.5.0/gcc
, 这是一个可执行文件,通过/ssddata/lijiawei421/env/miniconda38/envs/openscene/libexec/gcc/x86_64-conda-linux-gnu/7.5.0/gcc --version
命令可以查看到它的版本是7.5.0刷新系统路径:
1
export PATH=/ssddata/lijiawei421/env/miniconda38/envs/openscene/libexec/gcc/x86_64-conda-linux-gnu/7.5.0/:$PATH
现在可以开始安装cuda-11.1了
1 | sh cuda_11.1.0_455.23.05_linux.run |
完成cuda安装后, 记得要source新的cuda环境
1 | # CUDA |
务必先安装pytorch,然后再安装依赖
坑点,官方文档让先安装依赖再安装pytorch,这里务必先安装pytorch,然后再安装依赖,经过该博主多次尝试,最合适的pytorch版本就是1.9.0和1.9.1。最新版本的pytorch也会出问题。
1 | conda install pytorch=1.9.0 torchvision cudatoolkit=11.1 -c pytorch -c nvidia |
测试安装
1 | python |
源码安装Minkowski Engine
1 | git clone https://github.com/NVIDIA/MinkowskiEngine |
安装完成后测试是否能正常导入MinkowskiEngine
1 | python |
MinkowskiEngine安装与配置