
Torchsparse是用於點雲處理的高性能神經網絡庫。
對於自動駕駛和其他應用,點雲計算已成為越來越重要的工作量。與密集的2D計算不同,點雲卷積具有稀疏且不規則的計算模式,因此需要使用專門的高性能內核的專用推理系統支持。儘管現有的Point Cloud深度學習庫已經開發了不同的數據流以在點雲上進行卷積,但他們在整個模型的執行過程中都假設一個數據流。在這項工作中,我們系統地分析並改善了現有的數據流。我們最終的系統,Torchsparse,達到2.9倍, 3.3倍, 2.2倍和1.7倍,在最先進的Minkowskiengine,SPConv 1.2,Torchsparse(MLSYS)和SPCONV V2上的NVIDIA A100 GPU上測量了端到端的速度。
[2024/11] Torchsparse ++現在通過插件支持MMDetection3D和OpenPCDET!有一個完整的演示。
[2023/11] TORCHSPARSE ++已由Hao Su的實驗室(UCSD)的One-2-3-45 ++採用3D對像生成!
[2023/10]我們在第56 IEEE/ACM國際微體系結構研討會上介紹了Torchsparse ++(Micro 2023)。我們還完全發布了Torchsparse ++的源代碼。
[2023/6] Torchsparse ++已由Hao Su's Lab(UCSD)教授(UCSD)的一號2-3-45採用了3D網格重建!
[2023/6] Torchsparse ++已發布並在CVPR 2023關於自動駕駛的研討會上發布。它在先前的最新系統上實現了1.7-2.9倍的推理速度。
[2023/1] Argoverse 2數據集用Torchsparse實現其基線檢測器。
[2022/8] Torchsparse在MLSYS 2022上介紹。在此處可用談話視頻。
[2022/6] Sparseneus已採用了Torchsparse進行神經表面重建。
[2022/1] MLSYS 2022已接受Torchsparse,其中包含自適應矩陣乘法分組和局部感知的內存訪問。
[2021/6] Torchsparse V1.4已發布。
我們提供帶有不同Pytorch和CUDA版本的預先構建的Torchsparse v2.1.0軟件包(推薦),以簡化Linux系統的建築物。
確保至少安裝了Pytorch 1.9.0:
python -c " import torch; print(torch.__version__) "
>>> 1.10.0如果您想與GPU一起使用Torchsparse,請確保與Cuda一起安裝Pytorch:
python -c " import torch; print(torch.version.cuda) "
>>> 11.3然後,可以通過運行安裝腳本找到並安裝右Torchsparse輪:
python -c " $( curl -fsSL https://raw.githubusercontent.com/mit-han-lab/torchsparse/master/install.py ) "如果PYPI服務器無法正常工作,就不用擔心,您仍然可以手動下載車輪。車輪在此網站中列出。可以利用我們的安裝腳本自動確定用於索引車輪的版本號。例如,如果您使用Pytorch 1.11.0,CUDA 11.5,則版本號最終將為2.1.0+TORCH111CU115。然後,您可以根據Python版本選擇合適的輪子。
您也可以從來源安裝我們的庫:
python setup.py install在存儲庫中,或使用
pip install git+https://github.com/mit-han-lab/torchsparse.git
無需克隆存儲庫。

在三代GPU體系結構(Pascal,Turing和Ampere)和所有精度(FP16,TF32,FP32,FP32)中,Torchsparse在3D對象檢測和LIDAR分割基準中的現有點雲推理引擎都顯著勝過現有的點雲推理引擎。它比最先進的SPCONV 2.3.5快1.7倍,高達2.2倍
雲GPU上的Torchsparse-Mlsys。它還將SPCONV 2.3.5的延遲提高到On On On On。

與Minkowskiengine,Torchsparse-Mlsys和SpConv 2.3.5相比,Torchsparse達到了優越的混合精液訓練速度。具體而言,在Tesla A100上,RTX 2080 TI的1.16倍比最先進的SPCONV 2.3.5快1.27倍。在A100和2080 Ti上的七個基準測試中,它還顯著優於Minkowskiengine的4.6-4.8倍。用批量尺寸= 2測量。
您可能會從此鏈接中找到我們的基準。要訪問預處理數據集,請聯繫作者。由於許可要求,我們無法公開發布Semantickitti,Nuscenes和Waymo的原始數據。
Torchsparse由以下出色團隊開發:
如果使用Torchsparse,請使用以下Bibtex條目引用:
Torchsparse ++(Torchsparse v2.1)在Micro 2023中呈現:
@inproceedings { tangandyang2023torchsparse ,
title = { TorchSparse++: Efficient Training and Inference Framework for Sparse Convolution on GPUs } ,
author = { Tang, Haotian and Yang, Shang and Liu, Zhijian and Hong, Ke and Yu, Zhongming and Li, Xiuyu and Dai, Guohao and Wang, Yu and Han, Song } ,
booktitle = { IEEE/ACM International Symposium on Microarchitecture (MICRO) } ,
year = { 2023 }
}CVPR研討會介紹了Torchsparse ++(Torchsparse v2.1)的初步版本:2023:
@inproceedings { tangandyang2023torchsparse++ ,
title = { {TorchSparse++: Efficient Point Cloud Engine} } ,
author = { Tang, Haotian and Yang, Shang and Liu, Zhijian and Hong, Ke and Yu, Zhongming and Li, Xiuyu and Dai, Guohao and Wang, Yu and Han, Song } ,
booktitle = { Computer Vision and Pattern Recognition Workshops (CVPRW) } ,
year = { 2023 }
}Torchsparse在MLSYS 2022上呈現:
@inproceedings { tang2022torchsparse ,
title = { {TorchSparse: Efficient Point Cloud Inference Engine} } ,
author = { Tang, Haotian and Liu, Zhijian and Li, Xiuyu and Lin, Yujun and Han, Song } ,
booktitle = { Conference on Machine Learning and Systems (MLSys) } ,
year = { 2022 }
}Torchsparse的初始版本是ECCV 2020的SPVNA紙的一部分:
@inproceedings { tang2020searching ,
title = { {Searching Efficient 3D Architectures with Sparse Point-Voxel Convolution} } ,
author = { Tang, Haotian and Liu, Zhijian and Zhao, Shengyu and Lin, Yujun and Lin, Ji and Wang, Hanrui and Han, Song } ,
booktitle = { European Conference on Computer Vision (ECCV) } ,
year = { 2020 }
}Pcengine紙被MLSYS 2023接受:
@inproceedings { hong2023pcengine ,
title = { {Exploiting Hardware Utilization and Adaptive Dataflow for Efficient Sparse Convolution in 3D Point Clouds} } ,
author = { Hong, Ke and Yu, Zhongming and Dai, Guohao and Yang, Xinhao and Lian, Yaoxiu and Liu, Zehao and Xu, Ningyi and Wang, Yu } ,
booktitle = { Sixth Conference on Machine Learning and Systems (MLSys) } ,
year = { 2023 }
}我們感謝Tusimple的Yan Yan進行了有益的討論。還請查看DGSPARSE庫,該庫設計用於圖形和點雲上快速有效的稀疏計算。 PCENGINE(MLSYS 2023)團隊的工作也與我們高度相關。
Torchsparse的靈感來自許多現有的開源庫,包括(但不限於)Minkowskiengine,Second和Sparseconvnet。
我們還要感謝ExtribateD提供了一種優雅的方式來管理內核/模型配置。