Tensor
最基础的操作对象;可以在GPU上使用,可以追踪计算图和计算梯度,Numpy的计算无法像Tensor一样在GPU上加速
属性/方法 | 描述 |
---|---|
grad |
tensor的梯度属性,默认为None,当第一次为当前张量计算梯度调用backward方法时,grad将变成一个Tensor类型 |
backward() |
根据当前调用backword()的Tensor往前计算梯度,调用backward()的Tensor需要为Scaler,想要调用backward(),要保证当前Tensor所包含的变量运算过程中存在requires_grad=True的Tensor(不然你把什么当作变量求导呢?) |
detach() |
阻断反向梯度传播,当我们训练网络时,可能希望只对网络的一部分参数进行调整,或者只训练部分网络,并不让其梯度对主网络的梯度造成影响,这时就可以用detach |
gather() |
每行/列取数 |
Loss
假设
损失函数对 的导数为常数,在训练后期, 很小的时候,如果learning rate不变,损失函数会在稳定值附近波动,很难收敛到更高的精度 损失函数对 的导数在 很大时,其导数也很大,在训练初期不稳定 避开了上述两点