[BUG] Hardtanh ignores min_val/max_val from the .nam config
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 82/100
調査の方向性
NAM/activations.cpp から始め、次に nam/models/_activations.py のエクスポートされた境界を比較します。Hardtanh の設定パラメータがどのように解析されるかを追跡し、min_val=-0.5 および max_val=0.8 の設定を試します。境界付き Hardtanh が trainer と一致し、単なる文字列と境界のない設定が現在の ±1 の動作を維持すれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Summary
Hardtanh activations ignore their min_val / max_val bounds: the core always clamps to [-1, 1]. The trainer exports Hardtanh with explicit bounds, so a model trained with torch.nn.Hardtanh(min_val, max_val) other than ±1 runs differently in the core.
Where
- Trainer (
neural-amp-modelermain@ 0072676419):nam/models/_activations.py, lines ~253–258, exportsif isinstance(module, _nn.Hardtanh): return {"type": "Hardtanh", "min_val": module.min_val, "max_val": module.max_val} - Core (
main@ 0b3d3c97b0, also v0.5.4):NAM/activations.cppmaps"Hardtanh"to the parameterless singletonActivationHardTanh(clamp to ±1);min_val/max_valare only parsed forLeakyHardtanh.
Suggested fix
When a Hardtanh config carries min_val/max_val, honour them — e.g. build a clamp with those bounds, or map it to LeakyHardtanh with min_slope = max_slope = 0 (which is exactly a clamp to [min_val, max_val]). The bare string "Hardtanh" and configs without bounds keep today's ±1 behaviour.
With that mapping, a test model using Hardtanh(min_val=-0.5, max_val=0.8) matched the trainer's PyTorch output to ~6e-8. (That same model also has an inactive layer1x1, so the ~6e-8 figure is with the fix from #341 applied as well.)
- 主要言語
- C++
- スター
- 931
- フォーク
- 178
- 平均マージ
- 36分
- マージ済み PR(30日)
- 4
環境構築
このプロジェクトの環境構築ファイルはまだ確認していません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
sdatkinson/NeuralAmpModelerCore のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
sdatkinson/NeuralAmpModelerCore#328 ·
メンテナーはふだん 1 日以内に返信
-
documentation
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
sdatkinson/NeuralAmpModelerCore#305 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
sdatkinson/NeuralAmpModelerCore#304 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 3/5 1〜2日 初心者へのやさしさ 76/100
sdatkinson/NeuralAmpModelerCore#341 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 55/100
sdatkinson/NeuralAmpModelerCore#327 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
sdatkinson/NeuralAmpModelerCore の issue をすべて見る
似ている issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
tenstorrent/tt-metal#58057 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
maplibre/maplibre-native#4690 ·
メンテナーはふだん 1 日以内に返信
-
comp-query-execution
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
ClickHouse/ClickHouse#122569 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 92/100
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 88/100