欢迎光临
我们一直在努力

inplace 操作详解

一、什么是 Inplace 操作?

1.1 基本定义

在深度学习框架(如 PyTorch、TensorFlow)中,Inplace(原地)操作 是指直接修改输入张量的内存内容,而不分配新的内存空间来存储结果。这种操作“就地”完成,因此称为 in-place。

  • 非 Inplace 示例(创建新张量): y = x + 1 # x 不变,y 是新张量
  • Inplace 示例(修改原张量): x.add_(1) # 等价于 x += 1
    x.relu_() # ReLU 原地激活
    x.silu_() # SiLU 原地激活(PyTorch ≥ 1.8)

注:PyTorch 中以 _ 结尾的函数(如 add_, relu_)通常是 inplace 版本。

1.2 内存视角

假设张量 x 占用内存地址 0x1000:

  • 非 Inplace:y = f(x) → 分配新地址 0x2000 存储 y
  • <
赞(0)
未经允许不得转载:171主机测评 » inplace 操作详解
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址