initializer在c語言中是什么意思


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

initializer在c語言中是什么意思


initializer在c語言中是什么意思

initializer是什么意思

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

initializer在c語言中是什么意思

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

需要注意的是,initializer_list對象中的元素永遠是常量值,我們無法改變initializer_list對象中元素的值。并且,拷貝或賦值一個initializer_list對象不會拷貝列表中的元素,其實只是引用而已,原始列表和副本共享元素。

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

當涉及到for(initializer: list),list被自動構(gòu)造成initializer_list對象。也就是說initializer_list對象只能用大括號{}初始化。拷貝一個initializer_list對象并不會拷貝里面的元素。其實只是引用而已。而且里面的元素全部都是const的。

initializer常用語法

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

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

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

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

2、tf.truncated_normal_initializer()

或者簡寫為tf.TruncatedNormal()

生成截斷正態(tài)分布的隨機數(shù),這個初始化方法好像在tf中用得比較多。

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

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

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

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

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

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