v0lta/PyTorch-Wavelet-Toolbox

[JMLR] Differentiable fast wavelet transforms in PyTorch with GPU support.

何を解決するか

PyTorchネイティブなウェーブレット変換の実装を提供し、ディスクリート(DWT)および連続(CWT)ウェーブレット変換をディープラーニングワークフロー内での使用を可能にします。標準ライブラリとは異なり、GPUアクセラレーションと自動微分(勾配サポート)の恩恵を受けることができます。

仕組み

このツールボックスは、PyTorchバックエンドを使用してさまざまなウェーブレット操作を実装しています:

  • 畳み込みベースの変換:1D、2D、3Dデータにおける高速ウェーブレット変換(fwt)に conv1dconv2d およびその転置版を使用します。
  • スパース行列変換torch.sparse.mm を使用して境界ウェーブレットを実装し、データの端に余分なピクセルを追加することを回避します。
  • 適応型ウェーブレット:実験的なサポートとして、ニューラルネットワーク内のレイヤーとして学習可能な積分フィルターや最適化可能な直交ウェーブレットを提供します。
  • 統合PyWavelets の機能を拡張しつつ、PyTorchテンソルとの互換性を保証します。

対象ユーザー

多スケール解析や微分可能なウェーブレット変換を必要とする信号処理、画像解析、ニューラルネットワークアーキテクチャの研究者および開発者。

特徴

  • 多次元対応:1D、2D、3Dデータの解析および合成をサポート。
  • ハードウェアアクセラレーション:PyTorchを介した完全なGPUサポート。
  • 微分可能:勾配をサポートし、トレーナブルなMLモデルへの統合に適しています。
  • 境界処理:パディングなしで境界を処理するためのスパース行列ベースの変換を提供。
  • ウェーブレットパケット:1次元および2次元のウェーブレットパケット変換をサポート。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト