1
我想在激活函數內產生隨機數,這樣每次激活函數被調用時都會產生一個隨機數。我嘗試使用random.uniform和tf.random_uniform,但它只在編譯時生成一個隨機值,並且不會再發生變化。我怎樣才能讓它每次更新?張量流中的隨機值
滑稽的事實: 當我創建使用tf.Variable(random.uniform(1,2))每次它就是所謂的價值函數稍大時間的變量,例如:
1.22069513798
1.22072458267
1.22075247765
1.22077202797
編輯: 的功能很簡單 功能:
def activation(tensor):
alpha = tf.Variable(random.uniform(1,2))
return alpha*tensor,alpha
我會省略了神經網絡中的所有行,但我只是把它作爲:
act,alpha = activation(dense_layer+bias)
後來我通過簡單地獲得的價值:
[ts,c,alph]=sess.run([train_step,cost,alpha], feed_dict={xi: x_raw, yi: y_raw})
感謝
我說我的最後一次嘗試的代碼。我不認爲你發佈它發生了什麼,因爲我打印了數千次迭代,給了我相同的隨機值:) – kuonb
是的,你在初始化期間將你的隨機變量保存到變量alpha中。如果你想用新的隨機值重新初始化,你可以做'sess.run(alpha.initializer)' –
它完美的工作!謝謝 : ) – kuonb