Answers:
包装器“ with torch.no_grad()”将所有require_grad标志临时设置为false。官方PyTorch教程(https://pytorch.org/tutorials/beginner/blitz/autograd_tutorial.html#gradients)中的示例:
x = torch.randn(3, requires_grad=True)
print(x.requires_grad)
print((x ** 2).requires_grad)
with torch.no_grad():
print((x ** 2).requires_grad)
出:
True
True
False
我建议您阅读上面网站上的所有教程。
在您的示例中:我想作者不希望PyTorch计算新定义的变量w1和w2的梯度,因为他只想更新它们的值。