MinkowskiEngine 安装

CUDA10.x及11.x环境下MinkowskiEngine安装教程
本文详细介绍了在Ubuntu 18.04和16.04系统上,如何在不同CUDA版本(10.2、10.1、11.3)下安装MinkowskiEngine,包括环境配置、Anaconda环境管理、安装步骤、版本验证及特定问题解决方案。适合CUDA兼容平台开发者参考。
部署运行你感兴趣的模型镜像

MinkowskiEngine Installation Guide

NOTICE: MinkowskiEngine版本为0.5.2 or 0.5.1,其他版本未经测试。

OS: ubuntu 18.04

18.04的系统对MinkowskiEngine的安装比较友好,GCC默认为7.3.0,因此无需升级GCC,至于CUDA与CUDNN版本,我这里只给出我测试过的版本。

首先完成以下环境的配置:
cuda10.2+cudnn7.6.5+N卡驱动460.32
具体步骤见 链接: link.(将其中的cuda10.1换成10.2即可)
以上步骤需要自己一步一步耐心完成,当然,其他的cuda与cudnn组合只要是符合MinkowskiEngine官方要求都是可以的,我这里只给出了我自己亲测可行的组合。

然后由于实验室网络的原因,在线安装总是容易出现网络问题,因此这里选择本地安装。

// 下载安装包到本地
$ git clone https://github.com/NVIDIA/MinkowskiEngine.git
// 换源
$ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
$ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
$ conda config --set show_channel_urls yes
$ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
// Anaconda 环境安装
$ conda create -n py3-mink python=3.7
$ conda activate py3-mink
$ conda install pytorch==1.7.0 torchvision==0.8.0 torchaudio==0.7.0 cudatoolkit=10.2
$ conda install openblas-devel -c anaconda

如果是个人电脑,CPU核数不够多的,安装之前先把并行安装的thread数降低,否则会导致进程卡死:

即把setup.py文件内位于141行MAX_COMPILATION_THREADS变量值从12改成4.

若是实验室服务器配置比较好的可以忽略此步骤。

接下来便是安装:

$ cd MinkowskiEngine
$ python setup.py install --blas_include_dirs=${CONDA_PREFIX}/include --blas=openblas
// 可能会很慢,耐心等待即可
// 顺手把open3d也安装以下
$ pip install open3d

测试安装是否成功:

$ python
$ >>> import MinkowskiEngine as ME
// 没有报错说明 OK
$ >>> exit()
$ python -c "import MinkowskiEngine as ME; print(ME.__version__)"
$ 0.5.2

OS: ubuntu 16.04

以上18.04环境下的安装是我在personal laptop下安装的,16.04环境则下是我在实验室服务器下安装的,实验室服务器我是没有root权限的,而且gcc要从5.3升级到7以上,整个过程还是比较麻烦的,但是经过不懈的努力(自己无尽的踩坑 😃),还是可以解决这个问题。

我们实验室的服务器环境为ubuntu16.04+cuda10.1+cudnn7.6.4+N卡驱动440.64.

首先就是在无root权限下升级GCC版本(gcc 5.3.0 --> gcc 7.3.0,也是最难的一步):

gcc-7.3.0.tar.gz这个安装包在这里下载link,具体升级步骤见 链接: link.

完成以上步骤后,和在ubuntu18.04一样,使用Anaconda管理环境:

// 下载安装包到本地
$ git clone https://github.com/NVIDIA/MinkowskiEngine.git
// 换源
$ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
$ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
$ conda config --set show_channel_urls yes
$ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
// Anaconda 环境安装
$ conda create -n py3-mink python=3.6
$ conda activate py3-mink
$ conda install pytorch==1.7.0 torchvision==0.8.0 torchaudio==0.7.0 cudatoolkit=10.1
$ conda install openblas-devel -c anaconda

安装(若卡死,则降低thread数量,具体操作我在18.04下步骤中已经高亮提示了,这里就不过多赘述):

$ cd MinkowskiEngine
$ python setup.py install --blas_include_dirs=${CONDA_PREFIX}/include --blas=openblas
// 可能会很慢,耐心等待即可
// 顺手把open3d也安装以下
$ pip install open3d==0.9.0

同样是测试安装是否成功:

$ python
$ >>> import MinkowskiEngine as ME
// 没有报错说明 OK
$ >>> exit()
$ python -c "import MinkowskiEngine as ME; print(ME.__version__)"
$ 0.5.2

Update

以上均为CUDA10x环境下成功安装的步骤,这里记录一下CUDA11x下成功安装的一个配置:
OS: ubuntu18.04
CUDA: 11.3
GPU: RTX3090
安装Mink过程与上述过程没有区别,主要是pytorch版本:

conda install pytorch==1.10.1 torchvision==0.11.2 torchaudio==0.10.1 cudatoolkit=11.3 -c pytorch -c conda-forge

使用python3.8 + pytorch1.10.1 + CUDA11.3的配置,成功安装。

Done

您可能感兴趣的与本文相关的镜像

PyTorch 2.5

PyTorch 2.5

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

### 解决 MinkowskiEngine 安装过程中的 `ModuleNotFoundError` 当遇到 `ModuleNotFoundError: No module named 'MinkowskiEngine'` 错误时,这通常意味着 Python 无法找到名为 `MinkowskiEngine` 的模块。以下是几种常见解决办法: #### 检查模块名称和拼写 确认在安装命令以及导入语句中使用的模块名完全匹配官方文档的要求[^1]。 #### 使用 pip 或 conda 正确安装 MinkowskiEngine 如果尚未安装此库,则可以通过以下方式之一来完成安装操作: 对于大多数用户而言,推荐使用 Anaconda 来管理依赖关系并创建独立的工作环境。可以执行下面的命令来进行安装: ```bash conda install -c conda-forge minkowskiengine ``` 如果不希望使用 Conda,也可以借助 Pip 工具直接从 PyPI 获取最新版本: ```bash pip install MinkowskiEngine ``` 确保所处环境中已激活虚拟环境,并且拥有管理员权限或相应级别的访问控制以允许软件包被正常下载与配置到本地系统内。 #### 修改系统的 PYTHONPATH 变量 有时即使成功安装了目标库,在尝试引入它的时候仍然会抛出找不到指定名字的空间异常。此时应该考虑调整环境变量设置让解释器能够识别新的资源位置。可以在启动脚本里追加一行代码实现这一点: ```python import os, sys sys.path.append('/path/to/MinkowskiEngine') # 替换成实际路径 ``` 或者按照另一种更灵活的做法——动态向最前面插入项目根目录作为额外查找范围的一部分: ```python import os, sys sys.path.insert(0, os.path.join(os.path.abspath(os.path.dirname(__file__)), '../../')) ``` 注意这里的相对地址取决于个人工程结构布局而定,如有必要可适当增减父级层数(`..`)的数量以便覆盖所有可能性[^2]。 #### 创建必要的初始化文件 为了使某个特定文件夹成为合法有效的 Python 包,应当在其内部放置一个名为 `__init__.py` 的特殊文件。尽管现代版次不再强制要求这样做就能正常使用子目录里的组件,但在某些情况下显式声明还是有助于消除潜在冲突问题的发生几率。因此建议针对存放有自定义类别的各个层级都添加这样一个空文本档[^3]。 ```python touch /your_project_directory/minkowski_engine/__init__.py ``` 以上措施综合运用往往能有效处理因缺失外部依赖引发的一系列连锁反应,从而顺利解决问题。
评论 32
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值