您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

.data在pytorch中仍然有用吗?

.data在pytorch中仍然有用吗?

.data是的属性VariableTensor用历史跟踪表示的对象,例如用于自动更新)Tensor。实际上,.data正在访问Variable的底层Tensor

然而,由于PyTorch版本0.4.0VariableTensor已经合并(到更新的Tensor结构),所以.data沿着以前消失Variable的对象(以及Variable仍然存在的向后兼容性,但不建议使用)。

从段落发行说明的版本0.4.0(我建议你阅读关于全款Variable/Tensor更新):

.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需要向后报告,则会报告其就地更改。

其他 2022/1/1 18:53:11 有334人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶