1.tensor(data,requires_grad=True)
该tensor后续会被计算梯度,tensor所有的操作都会被记录在grad_fn
2.with torch.no_grad():
其中的操作并不会被追踪
3.反向传播
output.backward()
4.获取梯度:x.grad,累加梯度
所以,每次反向传播之前需要先把梯度置为0
5.tensor.data:
在tensor的required_grad=False,tensor.data和tensor等价
required_grad=True时,tensor.data仅仅是获取tensor中的数据
6.tensor.numpy():
requires_grad=True不能够直接转换,需要使用tensor.detach().numpy(),detach实现的是对数据的深拷贝
本文介绍了如何在PyTorch中使用`requires_grad`属性跟踪张量的梯度,包括使用`torch.no_grad()`避免追踪,反向传播的基本步骤,以及数据和numpy转换的注意事项。强调了每次反向传播前清零梯度的需求,以及`data`和`numpy`在不同情况下的行为。
2262

被折叠的 条评论
为什么被折叠?



