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资料,让我们一起努力吧。