首页
/ Minkowski Engine 使用教程

Minkowski Engine 使用教程

2026-01-30 05:15:47作者:薛曦旖Francesca

1. 项目介绍

Minkowski Engine 是一个为高维稀疏张量设计的自动微分神经网络库。它支持所有标准的神经网络层,如卷积、池化、反池化和广播操作。这个库特别适用于处理空间稀疏的高维输入和3D数据,例如3D感知、注册和统计数据分析。

2. 项目快速启动

环境要求

  • Ubuntu 14.04 或更高版本
  • CUDA 10.1.243 或更高版本(与 PyTorch 使用的 CUDA 版本相同)
  • PyTorch 1.7 或更高版本
  • Python 3.6 或更高版本
  • ninja(用于安装)
  • GCC 7.4.0 或更高版本

安装

使用 pip 安装

首先,根据 PyTorch 官方文档安装 PyTorch。然后安装 openblas。

sudo apt install build-essential python3-dev libopenblas-dev
pip install torch ninja
pip install -U MinkowskiEngine --install-option="--blas=openblas" -v --no-deps

如果需要从最新源代码安装,可以使用以下命令:

pip install -U git+https://github.com/NVIDIA/MinkowskiEngine --no-deps

使用 Anaconda 安装

MinkowskiEngine 支持 CUDA 10.2 和 CUDA 11.1,适用于大多数最新的 PyTorch 版本。

CUDA 10.2

推荐使用 Python 3.6 或更高版本。首先,根据 Anaconda 文档安装 Anaconda。

sudo apt install g++-7  # 对于 CUDA 10.2,必须使用 GCC < 8
conda create -n py3-mink python=3.8
conda activate py3-mink
conda install openblas-devel -c anaconda
conda install pytorch=1.9.0 torchvision cudatoolkit=10.2 -c pytorch -c nvidia

然后安装 MinkowskiEngine:

export CXX=g++-7
pip install -U git+https://github.com/NVIDIA/MinkowskiEngine -v --no-deps --install-option="--blas_include_dirs=${CONDA_PREFIX}/include" --install-option="--blas=openblas"
CUDA 11.X

推荐使用 Python 3.6 或更高版本。首先,根据 Anaconda 文档安装 Anaconda。

conda create -n py3-mink python=3.8
conda activate py3-mink
conda install openblas-devel -c anaconda
conda install pytorch=1.9.0 torchvision cudatoolkit=11.1 -c pytorch -c nvidia

安装 MinkowskiEngine:

# 注释以下行以指定 cuda 家目录。确保 `$CUDA_HOME/nvcc --version` 是 11.X
# export CUDA_HOME=/usr/local/cuda-11.1
pip install -U git+https://github.com/NVIDIA/MinkowskiEngine -v --no-deps

3. 应用案例和最佳实践

Minkowski Engine 支持多种网络架构和应用。以下是一些示例:

  • 语义分割

    python -m examples.indoor
    
  • 分类

    python -m examples.classification_modelnet40
    
  • 重建

    python -m examples.reconstruction
    
  • 完成

    python -m examples.completion
    
  • 检测

    python -m examples.detection
    

4. 典型生态项目

目前没有提供具体的生态项目列表。但是,Minkowski Engine 可以与多种深度学习框架和库配合使用,为稀疏数据处理提供强大的支持。用户可以根据自己的需求,探索更多的应用场景和项目。

登录后查看全文

项目优选

收起
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
511
551
docsdocs
暂无描述
Markdown
854
5.69 K
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
1.05 K
2.5 K
kernelkernel
deepin linux kernel
C
33
16
pytorchpytorch
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
840
1.28 K
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
849
1.71 K
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.25 K
1.38 K
jiuwenswarmjiuwenswarm
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.34 K
859
AscendNPU-IRAscendNPU-IR
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
511
347
cann-learning-hubcann-learning-hub
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
789
414