PyTorch的clip_grad_norm和clip_grad_norm_,有下划线时有什么区别?

Pey*_*man 5 gradient backpropagation deep-learning pytorch

在编写 PyTorch 时,torch.nn.utils我看到两个函数,clip_grad_normclip_grad_norm_

我想知道其中的区别,所以我去检查文档,但是当我搜索时,我只找到了clip_grad_norm_,而没有找到clip_grad_norm.

所以我就来问问大家有没有人知道其中的区别。

jod*_*dag 5

Pytorch 使用尾随下划线约定进行就地操作。所以区别在于,带有下划线的一个会修改张量,而另一个则保持原始张量不变并返回一个新的张量。