Pytorch使用 钩子函数 将变量梯度 为 nan 的修改为 1
2023-12-20 15:03:50
需要注意一点,代码需要写在 backward()
前面,因为钩子函数是在 backward 时执行的。
var.register_hook(lambda grad: torch.where(torch.isnan(grad), torch.ones_like(grad), grad))
total_loss.backward()
文章来源:https://blog.csdn.net/OrdinaryMatthew/article/details/135106739
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!