在 PyTorch 中,detach() 方法被用于从计算图中分离一个 Tensor,返回一个新的 Tensor,该 Tensor 与原 Tensor 共享数据存储,但不再与计算图中的任何操作相关联。具体来说,当我们使用 detach() 方法对一个 Tensor 进行分离时,它会创建一个新的 Tensor,该 Tensor 的 requires_grad 属性为 False,因此它不会参与梯度计算。但是,该 Tensor 与原 Tensor 共享数据存储,因此在分离后,我们仍然可以使用新 Tensor 进行计算,并且新 Tensor 的结果不会影响原 Tensor 的计算图。
点击查看代码
x.requires_grad_(True)
y = torch.sin(x)