pytorch文档Autograd机制——Variable上的In-place操作一段翻译有误及更新

小哥哥 • 82 次浏览 • 1 个回复 • 2018年12月07日

站主你好,我最近也在学习PyTorch,在网上搜索PyTorch中文资源的时候无意中发现了你的网站,有比较丰富的中文文档资源,我 觉得这一点是比较好的,但有些中文翻译还是有些问 题。比如https://ptorch.com/docs/8/中的“Variable上 的In-place操作”一段。

下面是我在机器翻译的基础上修改后的翻译版本, 希望你可以采纳。

autograd的In-place操作

在autograd中支持就地操作是一件很难的事情,我们不鼓励在大多数情况下使用它们。Autograd积极的缓冲区释放和重用使其非常高效,并且就地操作实际上会大幅降低内存使用量的情况非常少。除非您在巨大的内存压力下运行,否则您可能永远不需要使用它们。 限制就地操作适用性的主要原因有两个:

  1. 1.就地操作可能会潜在地覆盖需要计算梯度的值。

  2. 2.每个就地操作实际上都需要重写计算图来实现。非就地(Out-of-place)版本只是分配新对象并保留对旧图的引用,而就地操作则需要将所有输入的创建者(creator)更改为表示此操作的Function。这可能很棘手,特别是如果有许多Tensors引用相同的存储(例如通过索引或转置创建),并且如果被修改的输入的存储被任何其它张量引用,就地函数实际上会引发错误。

最后再提个小建议,如果能把“PyTorch0.4.0的中文文档”项目放到github上,由多人协作共同提高翻译的质量,相信会使更多的人受益。


原创文章,转载请注明 :pytorch文档Autograd机制——Variable上的In-place操作一段翻译有误及更新 - pytorch中文网
原文出处: https://ptorch.com/news/220.html
问题交流群 :168117787
提交评论
要回复文章请先登录注册
用户评论
  • 大大卷 大大卷 2017-07-16 12:00:58 回复

    站主的github在https://github.com/earnp/pytorch-docs,你可以提交pr

Pytorch是什么?关于Pytorch! pytorch LeNet5网络的实现