NVIDIA/torch-harmonics

Differentiable signal processing on the sphere for PyTorch

解决的问题

torch-harmonics 提供了一种可微分的方式在球面上进行信号处理。它允许研究人员将球面信号投影到调和基(以及反向投影),这对于在球面上求解偏微分方程(PDE)以及构建能够学习球面数据动态的神经算子至关重要。

工作原理

该库实现了球面调和变换(SHT),这是傅里叶变换在球面上的推广。它结合了经度方向的快速傅里叶变换(FFT)和纬度方向的高斯求积规则,以计算投影到关联勒让德多项式上。由于使用 PyTorch 原语构建,整个过程完全可微分。它还支持分布式求积,以实现跨多个 GPU 的模型并行。

适用人群

专为处理球面数据的科学家和机器学习工程师设计,例如开发球面傅里叶神经算子(SFNO)或在旋转球面上求解复杂物理模拟(如浅水方程)的研究人员。

特色亮点

  • 可微分 SHT:与 PyTorch 完全集成,支持基于梯度的优化。
  • 高级卷积:实现了适用于球面结构和非结构化网格的局部离散-连续(DISCO)卷积。
  • 球面注意力:使用测地距离将注意力机制推广到球面,实现邻域注意力。
  • 可扩展性:支持分布式 SHT,适用于大规模模型并行。
  • CUDA 优化:提供自定义 CUDA 扩展,以在 NVIDIA GPU 上实现高性能执行。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目