v0lta/PyTorch-Wavelet-Toolbox
[JMLR] Differentiable fast wavelet transforms in PyTorch with GPU support.
解決的問題
提供 PyTorch 原生的離散(DWT)與連續(CWT)小波轉換實作,使這些轉換能整合至深度學習工作流程中。與標準函式庫不同,它支援 GPU 加速與自動微分(梯度支援)。
工作原理
此工具箱使用 PyTorch 後端實作多種小波運算:
- 基於卷積的轉換:使用
conv1d、conv2d及其轉置版本,對 1D、2D 和 3D 資料實作快速小波轉換(fwt)。 - 稀疏矩陣轉換:使用
torch.sparse.mm實作邊界小波,避免在資料邊緣新增額外像素。 - 自適應小波:提供實驗性支援,可在神經網路中作為層訓練可學習的乘積濾波器與可優化正交小波。
- 整合:擴展
PyWavelets的功能,同時確保與 PyTorch 張量的相容性。
適用對象
需要多解析度分析與可微小波轉換的信號處理、影像分析或神經網路架構研究者與開發者。
主要亮點
- 多維支援:支援 1D、2D 和 3D 資料的分析與合成。
- 硬體加速:透過 PyTorch 實現完整的 GPU 支援。
- 可微分:支援梯度,適合整合至可訓練的機器學習模型中。
- 邊界處理:提供基於稀疏矩陣的轉換,無需填充即可處理邊界。
- 小波包:支援一維與二維小波包轉換。
相關
- 專案
- 專案
- 專案
- 專案
- 專案