(rontolisp) docs
← 関数

torch:clip-grad-norm

(torch:clip-grad-norm params max-norm)

params (モジュール、オプティマイザのパラメータリスト、またはテンソルのリスト) に対する勾配ノルムのクリッピング (PyTorch の torch.nn.utils.clip_grad_norm_) です。

すべての勾配を 1 本の長いベクトルとみなしたときの L2 ノルムを返します。 クリップ前に測定した値なので、学習ループでそのままログに出せます。そのノルムが max-norm を超えた場合、すべての勾配が max-norm / (norm + 1e-6) (PyTorch と 同じ分母) でその場でスケールされます。超えない場合は何も変更しません。勾配が 届いていないパラメータはスキップされます。

呼ぶ位置は torch:backwardtorch:step の間です。オプティマイザがこれから読む勾配を 書き換えるだけで、テープには触れません。