import torch
def f_1(mu):
eps = 0.01
mu = mu + eps # 相当于创建了新的变量,原变量没有变
def f_2(mu):
eps = 0.01
mu += eps # 没有创建新的变量,对原变量进行操作,也就是in-place
mu = torch.ones(2, 4)
f_1(mu)
print(mu)
f_2(mu)
print(mu)
'''
tensor([[1., 1., 1., 1.],
[1., 1., 1., 1.]])
tensor([[1.0100, 1.0100, 1.0100, 1.0100],
[1.0100, 1.0100, 1.0100, 1.0100]])
'''
pytorch的in-place问题(a+=b 和a=a+b的区别)
最新推荐文章于 2023-10-05 21:08:25 发布