x.grad.zeros_():将x的梯度清0
.backward():反向传递求导
张量参数requires_grad=True:表示构造计算图来存储梯度变化
梯度是积累的,需要通过x.grad.zeros_()变0
张量有参数grad来看导数
requires_grad 是 PyTorch 张量(Tensor)的一个属性,它用于指示是否需要对该张量进行梯度计算。如果一个张量的 requires_grad 属性被设置为 True,那么 PyTorch 会在计算图中跟踪该张量的计算,并将其梯度累积到其对应的张量的 grad 属性中,以便进行反向传播算法的求导计算。
具体来说,如果一个张量的 requires_grad 属性被设置为 True,那么在对该张量执行任何操作时,PyTorch 都会在后台构建一个计算图,并跟踪该张量的计算历史。这意味着,如果你对一个 requires_grad=True 的张量进行了一系列的操作,那么你可以使用 PyTorch 的自动梯度计算机制,通过调用其 backward() 方法来计算该张量的梯度。
在默认情况下,PyTorch会累计梯度,我们需要清除之前的值
在计算梯度时候,通过detach可以将张量变成标量
写出表达式就相当于正向积累,通过backward()来计算变换导数