x = torch.tensor([1, 2])
before = id(x)
x = x - 4
before == id(x)
返回值是False
,说明x = x - 4
会构造一个新的 tensor
而若修改为x -= 4
,则返回值为True
,说明会原地修改,更高效
对于 python 的 int 类型来说:
x = 10
before = id(x)
x += 10
before == id(x)
由于 int 是一种不可变对象,因此无论是x += 10
还是x = x + 10
,返回结果都为False