initializer在c語(yǔ)言中是什么意思


initializer在c語(yǔ)言中是參數(shù)初始化的意思。Initializer是所有初始化方法的父類,不能直接使用,如果想要定義自己的初始化方法,需要繼承子類,所以一般只有單目初始化會(huì)用到這個(gè)類。

initializer在c語(yǔ)言中是什么意思


initializer在c語(yǔ)言中是什么意思

initializer是什么意思

1、Initializer是所有初始化方法的父類,不能直接使用,如果想要定義自己的初始化方法,請(qǐng)繼承此類。如果需要傳遞自定義的初始化器,則該初始化器必須是callable的,并且接收shape(將被初始化的張量shape)和dtype(數(shù)據(jù)類型)兩個(gè)參數(shù),并返回符合shape和dtype的張量。

initializer在c語(yǔ)言中是什么意思

2、initializer_list是C++11提供的新類型,定義在頭文件中。用于表示某種特定類型的值的數(shù)組,和vector一樣,initializer_list也是一種模板類型。

需要注意的是,initializer_list對(duì)象中的元素永遠(yuǎn)是常量值,我們無(wú)法改變initializer_list對(duì)象中元素的值。并且,拷貝或賦值一個(gè)initializer_list對(duì)象不會(huì)拷貝列表中的元素,其實(shí)只是引用而已,原始列表和副本共享元素。

3、一個(gè)initializer_list當(dāng)出現(xiàn)在以下兩種情況的被自動(dòng)構(gòu)造:當(dāng)初始化的時(shí)候使用的是大括號(hào)初始化,被自動(dòng)構(gòu)造。包括函數(shù)調(diào)用時(shí)和賦值。

當(dāng)涉及到for(initializer: list),list被自動(dòng)構(gòu)造成initializer_list對(duì)象。也就是說(shuō)initializer_list對(duì)象只能用大括號(hào){}初始化??截愐粋€(gè)initializer_list對(duì)象并不會(huì)拷貝里面的元素。其實(shí)只是引用而已。而且里面的元素全部都是const的。

initializer常用語(yǔ)法

1、tf.constant_initializer()也可以簡(jiǎn)寫為tf.Constant()

初始化為常數(shù),這個(gè)非常有用,通常偏置項(xiàng)就是用它初始化的。由它衍生出的兩個(gè)初始化方法:

a、 tf.zeros_initializer(), 也可以簡(jiǎn)寫為tf.Zeros()

b、tf.ones_initializer(), 也可以簡(jiǎn)寫為tf.Ones()

2、tf.truncated_normal_initializer()

或者簡(jiǎn)寫為tf.TruncatedNormal()

生成截?cái)嗾龖B(tài)分布的隨機(jī)數(shù),這個(gè)初始化方法好像在tf中用得比較多。

它有四個(gè)參數(shù)(mean=0.0, stddev=1.0, seed=None, dtype=dtypes.float32),分別用于指定均值、標(biāo)準(zhǔn)差、隨機(jī)數(shù)種子和隨機(jī)數(shù)的數(shù)據(jù)類型,一般只需要設(shè)置stddev這一個(gè)參數(shù)就可以了。

3、全零初始化:keras . initializers .Zeros()

4、全1初始化:keras . initializers .Ones()

網(wǎng)上報(bào)名
  • 姓名:
  • 專業(yè):
  • 層次: ??分?jǐn)?shù):
  • 電話:
  • QQ/微信:
  • 地址:

文中圖片素材來(lái)源網(wǎng)絡(luò),如有侵權(quán)請(qǐng)聯(lián)系644062549@qq.com刪除

轉(zhuǎn)載注明出處:http://www.tengyi66.com