TF Variable
變量
在訓(xùn)練網(wǎng)絡(luò)的時(shí)候令野,往往需要變量值作為更新權(quán)重值weight
和偏置值bias
設(shè)置權(quán)重值的時(shí)候,需要初始化
- TF 隨機(jī)數(shù)初始化函數(shù)
tf.random_normal 正態(tài)分布
tf.truncated_normal 正態(tài)分布
tf.random_uniform 均勻分布
tf.random_gammer gammer分布
weights = tf.Variable(tf.random_normal([2,3], stddev=2))
- TF 常數(shù)初始化函數(shù)
tf.zeros 產(chǎn)生全為0的數(shù)組
tf.ones 產(chǎn)生全為1的數(shù)組
tf.constant 給定制的數(shù)組
在tensorflow
運(yùn)行的過(guò)程中需要初始化所有值
tf.global_variables_initializer()
例子:
import tensorflow as tf
w = tf.Variable(tf.constant([[0.2,0.1,0.4],[0.3,-0.5,0.2]]))
x = tf.constant([[0.7,0.9]])
b = tf.matmul(x, w)
with tf.Session() as sess:
init = tf.global_variables_initializer()
sess.run(init)
print b.eval()
TF get_variable
變量初始化
在TF
中get_variable
初始化變量較多戈抄。雖然在變量的定義方面基本相同歌懒,但是在變量空間仍不同具壮,這里先不討論茶袒。
variable 變量初始化
w1 = tf.Variable(tf.random_normal([2,3] , stddev = 1), name = "w1")
w2 = tf.Variable(tf.random_normal([2,3] , stddev = 1), dtype = tf.float32, name = "w1")
get_variable 變量初始化
tf.get_variable(name = "v", shape=[1], initializer= tf.constant_initializer(1.0))
-TF get_variable
常見(jiàn)的初始化函數(shù)
- tf.constant_initializer 將變量初始化為給定變量 參數(shù)初始值
-tf.random_normal_initializer 正態(tài)分布初始化 參數(shù)均值和方差
-tf.truncated_normal_initializer 偏離不超過(guò)2個(gè)標(biāo)準(zhǔn)差的正態(tài)初始化 均值和方差
-tf.random_uniform_initializer 將變量初始化為滿(mǎn)足均勻分布的隨機(jī)值 最大和最小值
-tf.zeros_initializer 初始化為全0 變量維度
-tf.ones_initizalizer 將變量全設(shè)置1 變量維度