gpt4 book ai didi

python - pytorch floor()梯度法的梯度是多少?

转载 作者:太空宇宙 更新时间:2023-11-03 23:54:23 26 4
gpt4 key购买 nike

我希望在我的一个模型中使用 floor() 方法。我想了解 pytorch 对其梯度传播做了什么,因为 floor 是一种不连续的方法。

如果没有定义渐变,我可以重写向后方法以根据需要定义我自己的渐变,但我想了解默认行为是什么以及可能的话相应的源代码。

import torch

x = torch.rand(20, requires_grad=True)
y = 20*x
z = y.floor().sum()
z.backward()

x.grad 返回零。

z 有一个 grad_fn=

所以FloorBackward就是梯度法。但是在pytorch仓库中没有提到FloorBackward的源码。

最佳答案

因为 floor 函数是分段常数。这意味着几乎所有地方的梯度都必须为零。

虽然代码没有说明任何内容,但我希望梯度在任何地方都设置为常量零。

关于python - pytorch floor()梯度法的梯度是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58374374/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com