torchsparse

GitHub
1.5k 187 中等 1 次阅读 3天前MIT开发框架
AI 解读 由 AI 自动生成,仅供参考

TorchSparse 是一个专为点云处理设计的高性能神经网络库,旨在加速自动驾驶等领域的三维深度学习任务。与传统二维图像不同,点云数据具有稀疏且不规则的分布特征,导致常规卷积计算效率低下。TorchSparse 通过提供专门优化的高性能内核,有效解决了这一痛点,显著提升了模型在 GPU 上的训练与推理速度。

该工具特别适合从事三维视觉、自动驾驶感知及机器人导航的 AI 研究人员和开发者。其核心技术亮点在于系统性地分析并改进了现有的数据流策略,支持自适应矩阵乘法分组和感知局部性的内存访问。实测数据显示,在 NVIDIA A100 GPU 上,TorchSparse 的端到端推理速度比 MinkowskiEngine、SpConv 等主流方案快 1.7 至 3.3 倍。此外,新版 TorchSparse++ 已兼容 MMDetection3D 和 OpenPCDet 等流行框架,并成功应用于多项前沿三维生成与重建研究,帮助用户更轻松地构建高效的点云深度学习模型。

使用场景

某自动驾驶初创团队正在开发实时 3D 目标检测系统,需处理激光雷达采集的高密度点云数据以识别道路上的车辆与行人。

没有 torchsparse 时

  • 推理延迟过高:使用传统稀疏卷积库(如 MinkowskiEngine)在 NVIDIA A100 上运行时,单帧处理耗时过长,难以满足自动驾驶毫秒级的实时响应需求。
  • 显存占用冗余:由于缺乏针对不规则点云数据的专用内存访问优化,模型在处理复杂场景时常因显存峰值过高而触发 OOM(内存溢出)错误。
  • 算力利用率低:现有框架采用单一数据流策略,无法自适应调整计算模式,导致 GPU 核心在处理稀疏数据时大量空闲,算力浪费严重。
  • 部署迭代缓慢:为了平衡速度与精度,工程师不得不花费大量时间手动裁剪模型或降低点云分辨率,牺牲了检测小目标的准确性。

使用 torchsparse 后

  • 端到端加速显著:借助 torchsparse 的高效内核,系统在同等硬件下的推理速度提升了 2.9 倍,轻松实现高频实时检测。
  • 内存管理智能高效:其感知局部性的内存访问机制大幅降低了显存占用,使得更高分辨率的点云输入也能稳定运行而不崩溃。
  • 自适应计算流:torchsparse 自动分析并切换最优数据流,最大化 GPU 利用率,让每一分算力都转化为实际的检测性能。
  • 无缝集成主流框架:通过插件直接支持 OpenPCDet 和 MMDetection3D,团队无需重构代码即可升级底层引擎,快速验证新算法。

torchsparse 通过专为稀疏点云设计的高性能计算架构,彻底解决了自动驾驶场景中实时性与资源消耗的矛盾,让高精度 3D 感知真正落地。

运行环境要求

操作系统
  • Linux
GPU
  • 必需 NVIDIA GPU
  • 基准测试涵盖 Pascal、Turing 和 Ampere 架构(如 Tesla A100, RTX 2080 Ti, Orin)
  • 需安装带 CUDA 支持的 PyTorch,README 示例中提及 CUDA 11.3 和 11.5,具体版本需与预编译包匹配
内存

未说明

依赖
notes官方推荐直接安装针对 Linux 系统预构建的 wheel 包 (v2.1.0),以简化编译过程。若使用 GPU,必须确保安装的 PyTorch 版本已包含对应的 CUDA 支持。如果自动安装脚本失效,可手动从指定网站下载与本地 PyTorch 及 CUDA 版本严格匹配的 wheel 文件。也可选择从源码编译安装。
python未说明 (需满足 PyTorch 1.9.0+ 的 Python 版本要求)
torch>=1.9.0
torchsparse hero image

快速开始

TorchSparse

TorchSparse 是一个用于点云处理的高性能神经网络库。

官网 | 论文 (MICRO 2023) | 论文 (MLSys 2022) | 演讲视频 | 文档 | PyPI 服务器

简介

点云计算已成为自动驾驶及其他应用中日益重要的工作负载。与密集的 2D 计算不同,点云卷积具有 稀疏不规则 的计算模式,因此需要专用的推理系统支持以及专门的高性能内核。尽管现有的点云深度学习库已经为点云上的卷积开发了不同的数据流,但它们假设在整个模型执行过程中只使用单一的数据流。在本工作中,我们系统地分析并改进了现有的数据流。我们的最终系统 TorchSparse 在 NVIDIA A100 GPU 上分别实现了相对于最先进的 MinkowskiEngine、SpConv 1.2、TorchSparse (MLSys) 和 SpConv v2 在推理方面的 2.9 倍3.3 倍2.2 倍1.7 倍 的端到端加速。

新闻

[2024/11] TorchSparse++ 现已通过插件支持 MMDetection3DOpenPCDet! 完整示例 已提供。

[2023/11] TorchSparse++ 已被 Hao Su 教授实验室(UCSD)的 [One-2-3-45++](论文:arXiv:2311.07885)采用,用于 3D 物体生成!

[2023/10] 我们在第 56 届 IEEE/ACM 国际微架构研讨会 (MICRO 2023) 上展示了 TorchSparse++。同时,我们也正式发布了 TorchSparse++ 的源代码。

[2023/6] TorchSparse++ 被 Hao Su 教授实验室(UCSD)的 [One-2-3-45](论文:arXiv:2306.16928)采用,用于 3D 网格重建!

[2023/6] TorchSparse++ 已发布,并在 CVPR 2023 自动驾驶相关研讨会上进行了展示。它相比之前的最先进系统,在推理速度上提升了 1.7 至 2.9 倍。

[2023/1] Argoverse 2 数据集使用 TorchSparse 实现了其基线检测器。

[2022/8] TorchSparse 在 MLSys 2022 上进行了展示。演讲视频可在 这里 观看。

[2022/6] TorchSparse 已被 SparseNeuS 采用,用于神经表面重建。

[2022/1] TorchSparse 被 MLSys 2022 接收,其特点是自适应矩阵乘法分组和局部性感知的内存访问。

[2021/6] TorchSparse v1.4 已发布。

安装

我们提供了预编译的 torchsparse v2.1.0 包(推荐),支持不同的 PyTorch 和 CUDA 版本,以简化 Linux 系统上的安装过程。

  1. 确保已安装至少 PyTorch 1.9.0:

    python -c "import torch; print(torch.__version__)"
    >>> 1.10.0
    
  2. 如果您希望在 GPU 上使用 TorchSparse,请确保 PyTorch 已经安装了 CUDA:

    python -c "import torch; print(torch.version.cuda)"
    >>> 11.3
    
  3. 然后可以通过运行安装脚本来找到并安装合适的 TorchSparse wheel:

    python -c "$(curl -fsSL https://raw.githubusercontent.com/mit-han-lab/torchsparse/master/install.py)"
    

如果 PyPI 服务器无法正常工作,也不用担心,您仍然可以手动下载 wheel 文件。这些 wheel 文件列在 这个网站 上。您可以利用我们的安装脚本自动确定用于索引 wheel 的版本号。例如,如果您使用 PyTorch 1.11.0 和 CUDA 11.5,版本号将为 2.1.0+torch111cu115。然后您可以根据自己的 Python 版本选择合适的 wheel。

您也可以通过以下方式从源码安装我们的库:

python setup.py install

在仓库目录下,或者使用

pip install git+https://github.com/mit-han-lab/torchsparse.git

而无需克隆整个仓库。

基准测试

推理基准测试

eval_benchmark.png

TorchSparse 在 3D 物体检测和 LiDAR 分割基准测试中,显著优于现有的点云推理引擎,覆盖了 Pascal、Turing 和 Ampere 三代 GPU 架构以及 FP16、TF32 和 FP32 所有精度。它比最先进的 SpConv 2.3.5 快至 1.7 倍,在云端 GPU 上比 TorchSparse-MLsys 快至 2.2 倍。此外,它还将 Orin 上 SpConv 2.3.5 的延迟降低了 1.25 倍

训练基准测试

train_benchmark.png

TorchSparse 在混合精度训练速度方面优于 MinkowskiEngine、TorchSparse-MLSys 和 SpConv 2.3.5。具体而言,它在 Tesla A100 上比最先进的 SpConv 2.3.5 快 1.16 倍,在 RTX 2080 Ti 上快 1.27 倍。它还在 A100 和 2080 Ti 上的七项基准测试中,以 4.6–4.8 倍 的优势显著超越了 MinkowskiEngine。测量时批次大小为 2。

您可以在 这个链接 找到我们的基准测试结果。如需访问预处理过的数据集,请联系作者。由于许可要求,我们无法公开 SemanticKITTI、nuScenes 和 Waymo 的原始数据。

团队

TorchSparse 由以下优秀的团队开发:

  • Haotian Tang:MIT EECS 博士生(2020 年至今),项目负责人,v2.0 和 v2.1 主要负责人;
  • Shang Yang:MIT EECS 博士生(2023 年至今),项目负责人,v2.1 主要负责人;
  • Zhijian Liu:MIT EECS 博士生(2018 年至今),项目负责人,v2.0 主要负责人;
  • Xiuyu Li:UC Berkeley EECS 博士生(2022 年至今),v2.0 主要负责人;
  • Ke Hong:清华大学 EE 研究生(2021 年至今),v2.1 核心开发者,负责 PCEngine 内核的编写;
  • Zhongming Yu:UCSD CS 博士生(2022 年至今),v2.1 核心开发者,负责 PCEngine 内核的编写;
  • Yujun Lin:MIT EECS 博士生(2018 年至今),v2.0 核心开发者;
  • Yingqi Cao:UC San Diego 本科生,目前正致力于将 TorchSparse++ 集成到算法框架中;
  • Guohao Dai:上海交通大学副教授,项目的导师;
  • Yu Wang:清华大学教授,项目的导师;
  • Song Han:MIT EECS 副教授,项目的导师。

引用

如果您使用 TorchSparse,请使用以下 BibTeX 条目进行引用:

TorchSparse++(TorchSparse v2.1)已在 MICRO 2023 上发表:

@inproceedings{tangandyang2023torchsparse,  
  title={TorchSparse++: 面向 GPU 的稀疏卷积高效训练与推理框架},  
  author={唐浩天、杨尚、刘志坚、洪科、俞仲明、李秀宇、戴国豪、王宇、韩松},  
  booktitle={IEEE/ACM 国际微架构研讨会(MICRO)},  
  year={2023}
}

TorchSparse++ 的初步版本(TorchSparse v2.1)已在 CVPR 工作坊 2023 上发表:

@inproceedings{tangandyang2023torchsparse++,
  title = {{TorchSparse++:高效点云引擎}},
  author = {唐浩天、杨尚、刘志坚、洪科、俞仲明、李秀宇、戴国豪、王宇、韩松},
  booktitle = {计算机视觉与模式识别工作坊(CVPRW)},
  year = {2023}
}

TorchSparse 已在 MLSys 2022 上发表:

@inproceedings{tang2022torchsparse,
  title = {{TorchSparse:高效点云推理引擎}},
  author = {唐浩天、刘志坚、李秀宇、林宇俊、韩松},
  booktitle = {机器学习与系统大会(MLSys)},
  year = {2022}
}

TorchSparse 的初始版本包含于 ECCV 2020 的 SPVNAS 论文中:

@inproceedings{tang2020searching,
  title = {{利用稀疏点—体素卷积搜索高效 3D 架构}},
  author = {唐浩天、刘志坚、赵圣宇、林宇俊、林继、王涵睿、韩松},
  booktitle = {欧洲计算机视觉大会(ECCV)},
  year = {2020}
}

PCEngine 论文已被 MLSys 2023 接受:

@inproceedings{hong2023pcengine,
  title={{利用硬件资源与自适应数据流实现 3D 点云中的高效稀疏卷积}},
  author={洪科、俞仲明、戴国豪、杨欣浩、连耀秀、刘泽昊、徐宁毅、王宇},
  booktitle={第六届机器学习与系统大会(MLSys)},
  year={2023}
}

致谢

我们感谢 TuSimple 的 Yan Yan 提供的有益讨论。同时,也请参阅 dgSparse 库,该库专为图和点云上的快速高效稀疏计算而设计。PCEngine(MLSys 2023)团队的工作与我们的研究密切相关。

TorchSparse 受到众多现有开源库的启发,其中包括但不限于 MinkowskiEngineSECONDSparseConvNet

此外,我们还要感谢 AttributeDict,它提供了一种优雅的方式来管理内核/模型配置。

版本历史

v2.0.02023/06/18
v1.4.02021/06/25
v1.2.02021/06/02
v1.1.02021/03/20
v1.0.02020/09/17

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|1周前
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|1周前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

156.8k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

108.3k|★★☆☆☆|5天前
开发框架图像Agent

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|5天前
插件Agent图像

markitdown

MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|1周前
插件开发框架