Tensor.grad属性介绍

PyTorch的Tensor有个grad属性,默认情况下,该属性为None,当第一次调用backward()计算梯度时,此属性变为张量,其值为计算的梯度。并且,将来对backward的多次调用之后,将会累积梯度。

Tensor.grad应用举例

x = torch.tensor([[1., -1.], [1., 1.]], requires_grad=True)
out = x.pow(2).sum()
out.backward()
print(x.grad)

运行结果为:

tensor([[ 2.0000, -2.0000],
        [ 2.0000,  2.0000]])

参考

https://pytorch.org/docs/stable/generated/torch.Tensor.grad.html#torch.Tensor.grad

学习建议

很多人只有查找网上资料才能明白grad属性,如果有人是这种情况,还是建议转行吧。深度学习中的学就是了解,而习就是复习,是反向传播的意思,如果连grad属性真是说不过去了。很多人执着于读论文、跑开源、学算法,但是忽略了最底层的基本功,连PyTorch都用不好,这是一个非常错误的做法。我也提醒各位读者,学好PyTorch十分重要。欢迎大家关注红黑树技术联盟,这里有高质量的PyTorch资料,让我们一起努力吧。