日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

keras_14_初始化Initializers

發布時間:2024/1/17 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 keras_14_初始化Initializers 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 模型初始化

  • 初始化定義了設置 Keras 各層權重隨機初始值的方法。用來將初始化器傳入 Keras 層的參數名取決于具體的層。通常關鍵字為 kernel_initializer 和 bias_initializer:

    model.add(Dense(64,kernel_initializer='random_uniform',bias_initializer='zeros'))
  • 內置的初始化工具 (是 keras.initializers 模塊的一部分)

    • Initializer

      • 初始化器基類:所有初始化器繼承這個類。
    • Zeros

      • 將張量初始值設為 0 的初始化器。
    • Ones

      • 將張量初始值設為 1 的初始化器。
    • Constant

      • 將張量初始值設為 constant的初始化器。
    • RandomNormal

      • 按照正態分布生成隨機張量
    • RandomUniform

      • 按照均勻分布生成隨機張量
    • TruncatedNormal

      • 截尾正態分布。生成的隨機值與 RandomNormal 生成的類似,但是在距離平均值兩個標準差之外的隨機值將被丟棄并重新生成。這是用來生成神經網絡權重和濾波器的推薦初始化器。
    • VarianceScaling

      • 初始化器能夠根據權值的尺寸調整其規模。

        使用 distribution="normal" 時,樣本是從一個以 0 為中心的截斷正態分布中抽取的,stddev = sqrt(scale / n),其中 n 是:

        • 權值張量中輸入單元的數量,如果 mode = "fan_in"。
        • 輸出單元的數量,如果 mode = "fan_out"。
        • 輸入和輸出單位數量的平均數,如果 mode = "fan_avg"。

        使用 distribution="uniform" 時,樣本是從 [-limit,limit] 內的均勻分布中抽取的,其中 limit = sqrt(3 * scale / n)。

    • Orthogonal

      • 生成一個隨機正交矩陣
    • Identity

      • 生成單位矩陣
    • lecun_uniform

      • LeCun 均勻初始化器。它從 [-limit,limit] 中的均勻分布中抽取樣本, 其中 limit 是 sqrt(3 / fan_in), fan_in 是權值張量中的輸入單位的數量。
    • glorot_normal (cs231n推薦):也稱為 Xavier 正態分布初始化器。

      • 它從以 0 為中心,標準差為 stddev = sqrt(2 / (fan_in + fan_out)) 的截斷正態分布中抽取樣本, 其中 fan_in 是權值張量中的輸入單位的數量, fan_out 是權值張量中的輸出單位的數量。
    • glorot_uniform:Glorot 均勻分布初始化器,也稱為 Xavier 均勻分布初始化器。

      • 它從 [-limit,limit] 中的均勻分布中抽取樣本, 其中 limit 是 sqrt(6 / (fan_in + fan_out)), fan_in 是權值張量中的輸入單位的數量, fan_out 是權值張量中的輸出單位的數量。
    • he_normal

      • He 正態分布初始化器。它從以 0 為中心,標準差為 stddev = sqrt(2 / fan_in) 的截斷正態分布中抽取樣本, 其中 fan_in是權值張量中的輸入單位的數量,
    • lecun_normal

      • LeCun 正態分布初始化器。它從以 0 為中心,標準差為 stddev = sqrt(1 / fan_in) 的截斷正態分布中抽取樣本, 其中 fan_in是權值張量中的輸入單位的數量。
    • he_uniform

      • He 均勻方差縮放初始化器。它從 [-limit,limit] 中的均勻分布中抽取樣本, 其中 limit 是 sqrt(6 / fan_in), 其中 fan_in 是權值張量中的輸入單位的數量。

2. 自定義初始化器

  • 如果傳遞一個自定義的可調用函數,那么它必須使用參數 shape(需要初始化的變量的尺寸)和 dtype(數據類型):

    from keras import backend as Kdef my_init(shape, dtype=None):return K.random_normal(shape, dtype=dtype)model.add(Dense(64, kernel_initializer=my_init))

轉載于:https://www.cnblogs.com/LS1314/p/10380676.html

總結

以上是生活随笔為你收集整理的keras_14_初始化Initializers的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。