你们好,最近小未来发现有诸多的小伙伴们对于detached翻译,detach这个问题都颇为感兴趣的,今天小活为大家梳理了下,一起往下看看吧。
1、 Torch.tensor.detach()用法介绍:
2、 (1)返回一个与当前图分离的新变量。
3、 (2)返回的变量不会在gradient中更新。
4、 (3) The variable volatile=Truedetach=true, and the unstable one fromdetach is also true.
5、 (4)返回的变量和fromdetach的变量指向同一个张量。
6、 下图是torch.tensor.detach()的例子。当添加detach()时,requirements _ grad为假。因为更改了C,所以backward()不会受到影响。
7、 可以看出,C和out的区别在于C没有梯度,OUT有梯度。当新生成的变量c用于反向传播时,它会发现一个错误。
8、 torch.tensor.detach_():
9、 (1)从创建变量的图中分离出一个变量,并将其设置为叶变量。
10、 (2)当中间节点的grad_fn的值设置为None时,中间节点将不再与前一个节点关联,然后中间节点将成为叶子节点。
11、 (3)将中间节点的requirements _ grad设置为False,这样在后面的节点上执行backward()时就不会得到中间节点的梯度。
12、 火炬。张量detach _()和torch.tensor.detach()的区别detach()和detach_()很像,
13、 两者的区别在于detach_()是对自身的改变,而detach()产生一个新的变量。比如在a-b-c中,如果B是detach(),
14、 如果以后想修改,还是可以操作原来的计算图表。但是如果是detach_(),那么原来的计算图也发生了变化。
以上就是detach这篇文章的一些介绍,希望对大家有所帮助。