方法

  1. 调用tensor的data属性
  2. 调用tensor的detach()函数
  3. 调用clone()可行吗?不可行

验证

先写结论:.data 和.detach只取出本体tensor数据,舍弃了grad,grad_fn等额外反向图计算过程需保存的额外信息。但是.data所创建的tensor与原tensor的内存是共享的,也就是说改变二者任一变量,另一个变量的内容也会发生同样的改变。

data属性 与 detach()函数

pytorch--切断梯度的方法
进一步,当我调用.backward()时会发生错误:

  • .data:

    pytorch--切断梯度的方法

  • .detach()
    pytorch--切断梯度的方法

clone()函数验证

pytorch--切断梯度的方法
如上所示,clone()后的结果仍然requires_grad。所以并不能切断梯度

参考资料

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-08-28
  • 2022-01-07
  • 2021-12-24
  • 2022-01-17
  • 2021-05-10
猜你喜欢
  • 2021-12-06
  • 2022-12-23
  • 2023-02-20
  • 2021-10-27
  • 2022-12-23
  • 2022-12-23
  • 2021-11-06
相关资源
相似解决方案