Tensorflow 提供了7種不同的初始化函數(shù):
tf.constant_initializer(value) #將變量初始化為給定的常量,初始化一切所提供的值。
假設(shè)在卷積層中,設(shè)置偏執(zhí)項(xiàng)b為0,則寫(xiě)法為:1. bias_initializer=tf.constant_initializer(0)2. bias_initializer=tf.zeros_initializer(0)
tf.random_normal_initializer(mean,stddev) #功能是將變量初始化為滿足正太分布的隨機(jī)值,主要參數(shù)(正太分布的均值和標(biāo)準(zhǔn)差),用所給的均值和標(biāo)準(zhǔn)差初始化均勻分布
tf.truncated_normal_initializer(mean,stddev,seed,dtype) #功能:將變量初始化為滿足正太分布的隨機(jī)值,但如果隨機(jī)出來(lái)的值偏離平均值超過(guò)2個(gè)標(biāo)準(zhǔn)差,那么這個(gè)數(shù)將會(huì)被重新隨機(jī)
mean:用于指定均值;stddev用于指定標(biāo)準(zhǔn)差;seed:用于指定隨機(jī)數(shù)種子;dtype:用于指定隨機(jī)數(shù)的數(shù)據(jù)類型。通常只需要設(shè)定一個(gè)標(biāo)準(zhǔn)差stddev這一個(gè)參數(shù)就可以。
tf.random_uniform_initializer(a,b,seed,dtype) #從a到b均勻初始化,將變量初始化為滿足平均分布的隨機(jī)值,主要參數(shù)(最大值,最小值)
tf.uniform_unit_scaling_initializer(factor,seed,dtypr) #將變量初始化為滿足平均分布但不影響輸出數(shù)量級(jí)的隨機(jī)值
max_val=math.sqrt(3/input_size)*factor;input_size指輸入數(shù)據(jù)的維數(shù),假設(shè)輸入為x,計(jì)算為x*w,則input_size=w.shape[0].其分布區(qū)間為[-max_val,max_val]
tf.zeros_initializer() #將變量設(shè)置為全0;也可以簡(jiǎn)寫(xiě)為tf.Zeros()
tf.ones_initializer() #將變量設(shè)置為全1;可簡(jiǎn)寫(xiě)為tf.Ones()
以上這篇對(duì)Tensorflow中的變量初始化函數(shù)詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持武林站長(zhǎng)站。
新聞熱點(diǎn)
疑難解答
圖片精選