仅供自己参考
- pytorch中的变量:tensor
分为:data——权重参数
grad——损失对权重的导数
tensor可以理解为一种数据类型,这种类型的变量在计算时会产生计算图,从而可以通过计算图方便地进行后向传播。
一个易错点:若想损失求和,定义了一个sum,sum+=l,此时sum会变成一个tensor类型的变量,就会产生计算图,但其实是不必要的,因为并不会对sum进行后向传播。所以此时tensor类型的变量sum就会占内存。导致不必要的内存消耗。
正确的做法是:将tensor类型的l转换为纯python标量:sum+=l.item()