一、什么是 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
- <



