1. 首页
  2. 编程语言
  3. Python
  4. PyTorch中的拷贝与就地操作详解

PyTorch中的拷贝与就地操作详解

上传者: 2022-05-24 16:31:26上传 PDF文件 116.82 KB 热度 9次

Python操作类似+=或*=也是就地操作。就地操作的主要缺点主要原因有2点,1.可能会覆盖计算梯度所需的值,这意味着破坏了模型的训练过程。异地操作Out-of-place分配新对象并保留对旧图的引用,而就地操作则需要更改表示此操作的函数的所有输入的创建者。在Autograd中支持就地操作很困难,并且在大多数情况下不鼓励使用。Autograd积极的缓冲区释放和重用使其非常高效,就地操作实际上降低内存使用量的情况很少。除非在沉重的内存压力下运行,否则可能永远不需要使用它们。以及后文提到的就地操作in-place。这时使用索引操作不会开辟新的内存,而想指定结果到原来的y的内存,我们可以使用索引来进行替换操作。

用户评论