[BUG] Hardtanh ignores min_val/max_val from the .nam config
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 82/100
Direzione di ricerca
Inizia da NAM/activations.cpp, quindi confronta i limiti esportati in nam/models/_activations.py. Traccia il modo in cui vengono analizzati i parametri di configurazione di Hardtanh e prova una configurazione con min_val=-0.5 e max_val=0.8. Il lavoro è completo quando Hardtanh con limiti corrisponde al trainer, mentre la stringa semplice e le configurazioni senza limiti mantengono il comportamento attuale di ±1.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.)
- Lingua principale
- C++
- Stelle
- 955
- Fork
- 183
- Merge medio
- 36m
- PR unite (30g)
- 4
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di sdatkinson/NeuralAmpModelerCore
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
sdatkinson/NeuralAmpModelerCore#328 ·
I maintainer di solito rispondono entro 1 giorno
-
documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
sdatkinson/NeuralAmpModelerCore#305 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
sdatkinson/NeuralAmpModelerCore#304 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 76/100
sdatkinson/NeuralAmpModelerCore#341 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
sdatkinson/NeuralAmpModelerCore#327 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di sdatkinson/NeuralAmpModelerCore
Issue simili
-
Broken links in the docsAperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
microsoft/onnxruntime#33018 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
DataLakeFileSystemClient::ListPaths() throws JSON exception due to accessing undefined fieldsApertacustomer-reported needs-triage question
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
Azure/azure-sdk-for-cpp#7435 ·
I maintainer di solito rispondono entro 1 giorno
-
ChromieCraft Generic Confirmed World Event
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
azerothcore/azerothcore-wotlk#27882 ·
I maintainer di solito rispondono entro 1 giorno
-
MacOS build failureApertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
aristocratos/btop#1874 ·
I maintainer di solito rispondono entro 1 giorno