gpt4 book ai didi

python - 为什么 torch.gt 函数将 requires_grad 变成 False?

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

张量bcrequires_gradTrue。但是张量 drequires_gradFalse。我很好奇为什么会发生这种变化,因为输入的所有 requires_grad 都是 True。

但是,张量 erequires_grad 为 True。我仍然可以在 e 上执行 backward()。但是这样会不会出错呢?

我使用的是Python3.7和Pytorch1.1。

import torch
import torch.nn as nn

net = nn.Conv2d(1, 1, 3, padding=1)
a = torch.randn(1, 1, 10, 10)
b = net(a)
c = net(b)

d = torch.gt(b, c)

e = b - c
e[e > 0] = 1.0
e[e < 0] = 0.0

最佳答案

我假设这是因为你不能采用大于运算的梯度。返回类型是 bool 值:

>>> torch.gt(torch.tensor([[1, 2], [3, 4]]), torch.tensor([[1, 1], [4, 4]]))
tensor([[False, True], [False, False]])

而减号或其他算术运算返回另一个数字。

关于python - 为什么 torch.gt 函数将 requires_grad 变成 False?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57847484/

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