pytorch detach()截断反向传播、numpy()函数 item函数
1.detach():返回一个新的Variable,从当前计算图中分离下来的,但是仍指向原变量的存放位置,不同之处只是requires_grad为false,得到的这个Variable永远不需要计算其梯度,不具有grad。
即使之后重新将它的requires_grad置为true,它也不会具有梯度grad。这样我们就会继续使用这个新的Variable进行计算,后面当我们进行反向传播时,到该调用detach()的Variable就会停止,不能再继续向前进行传播
2.numpy()将tensor转换为numpy:
注意cuda上面的变量类型只能是tensor,不能是其他
3.loss.item(). item()返回的是tensor中的值,且只能返回单个值(标量),不能返回向量,使用返回loss等。