
Theano - 共享變數
許多時候,你需要建立在不同函式以及同一函式的多次呼叫之間共享的變數。舉個例子,在訓練神經網路的時候,你要建立一個權重向量,以便為考慮中的每個特徵分配一個權重。這個向量在網路訓練的每次迭代中都會被修改。因此,它必須在同一函式的多次呼叫中全域性訪問。為此我們建立一個共享變數。Theano 通常會將此類共享變數移動到 GPU(如果可用)。這會加快計算速度。
語法
你要建立一個共享變數,需要使用以下語法 −
import numpy W = theano.shared(numpy.asarray([0.1, 0.25, 0.15, 0.3]), 'W')
示例
此處生成了包含四個浮點數的 NumPy 陣列。要設定/獲取 **W** 值,你要使用以下程式碼段 −
import numpy W = theano.shared(numpy.asarray([0.1, 0.25, 0.15, 0.3]), 'W') print ("Original: ", W.get_value()) print ("Setting new values (0.5, 0.2, 0.4, 0.2)") W.set_value([0.5, 0.2, 0.4, 0.2]) print ("After modifications:", W.get_value())
輸出
Original: [0.1 0.25 0.15 0.3 ] Setting new values (0.5, 0.2, 0.4, 0.2) After modifications: [0.5 0.2 0.4 0.2]
廣告