.data是的属性
Variable(
Tensor用历史跟踪表示的对象,例如用于自动更新)
Tensor。实际上,
.data正在访问
Variable的底层
Tensor。
然而,由于PyTorch版本
0.4.0,
Variable并
Tensor已经合并(到更新的
Tensor结构),所以
.data沿着以前消失
Variable的对象(以及
Variable仍然存在的向后兼容性,但不建议使用)。
从段落发行说明的版本
0.4.0(我建议你阅读关于全款
Variable/
Tensor更新):
那
.data呢.data是让底层的主要方式Tensor,从一个Variable。合并之后,调用y =x.data仍然具有相似的语义。因此y将具有Tensor与共享相同数据x,与的计算历史无关x并且具有的requires_grad=False。但是,
.data在某些情况下可能是不安全的。x.data
不会跟踪上的任何更改autograd,并且如果x需要向后传递,则计算出的渐变将是不正确的。一个更安全的替代方法是使用x.detach(),它还会返回Tensor与共享数据的requires_grad=False,但是autograd如果x需要向后报告,则会报告其就地更改。



