import numpy as np
class obj:
def __init__(self,x):
self.x=x
def printselfx(self):
print(self.x['a'])
x=np.array([1,3,5])
dict = {'a': x}
temp=obj(dict)
temp.printselfx()
x+=1
dict= {'a': x}
temp.printselfx()
输出结果:
如上所示,因为x是一个对象,所以x的值改变会影响到类当中的self.x
我一开始以为没有改变,因为神经网络中在对self.params梯度下降后,并没有出现对affine层的W直接修改,其实就是上面所示的情况了