Are PyTorch layers and operations within the nn.Module
capable of fully supporting sparse tensors by default?
I am aiming to train a CNN for both 2D and 3D images. There are external libraries available, such as Nvidia’s Minkowski Engine, SPConv, Numenta, and PyTorch Sparse which efficiently handle sparse data and can accelerate the training process. However, most of these projects are, on average, around 4 years old, and their compatibility with Windows and particularly Ubuntu 22.02 is either limited or non-existent. The compilation of these libraries and their integration into existing projects poses considerable challenges.
I have come across several issues on the PyTorch GitHub repository that pertain to requests for features related to sparse data. Notably, a few of these mentions are highlighted below in chronological order:
- [Nov 14, 2020] sparse filter layers (more specifically convolutions)
- [Sep 6, 2021] Feature Request: Any plan to add ‘Sparse Convolution’ as default nn.module?
- [May 26, 2022] Request for adding the possibility for training on sparse tensors
I would greatly appreciate any comments or suggestions you may have.