1. 程式人生 > 其它 >神經網路中由於傳入物件所以能夠通過修改物件的值從而修改權重

神經網路中由於傳入物件所以能夠通過修改物件的值從而修改權重

技術標籤:深度學習

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直接修改,其實就是上面所示的情況了