<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
tf.keras.layers.Batchnormalization()
重要引數:
training
:布林值,指示圖層應在訓練模式還是在推理模式下執行。training=True
:該圖層將使用當前批輸入的均值和方差對其輸入進行標準化。training=False
:該層將使用在訓練期間學習的移動統計資料的均值和方差來標準化其輸入。BatchNormalization 廣泛用於 Keras 內建的許多高階折積神經網路架構,比如 ResNet50、Inception V3 和 Xception。
BatchNormalization 層通常在折積層或密集連線層之後使用。
在訓練的正向傳播中,不會改變當前輸出,只記錄下γ與β。在反向傳播的時候,根據求得的γ與β通過鏈式求導方式,求出學習速率以至改變權值。
對於預測階段時所使用的均值和方差,其實也是來源於訓練集。比如我們在模型訓練時我們就記錄下每個batch下的均值和方差,待訓練完畢後,我們求整個訓練樣本的均值和方差期望值,作為我們進行預測時進行BN的的均值和方差。
原始論文講在CNN中一般應作用與非線性啟用函數之前,但是,實際上放在啟用函數之後效果可能會更好。
# 放在非線性啟用函數之前 model.add(tf.keras.layers.Conv2D(64, (3, 3))) model.add(tf.keras.layers.BatchNormalization()) model.add(tf.keras.layers.Activation('relu')) # 放在啟用函數之後 model.add(tf.keras.layers.Conv2D(64, (3, 3), activation='relu')) model.add(tf.keras.layers.BatchNormalization())
關於keras中的BatchNormalization使用,官方檔案說的足夠詳細。本文的目的旨在說明在BatchNormalization的使用過程中容易被忽略的細節。
在BatchNormalization的Arguments引數中有trainable屬性;以及在Call arguments引數中有training。兩個都是bool型別。第一次看到有兩個引數的時候,我有點懵,為什麼需要兩個?
後來在查閱資料後發現了兩者的不同作用。
1,trainable是Argument引數,類似於c++中建構函式的引數一樣,是構建一個BatchNormalization層時就需要傳入的,至於它的作用在下面會講到。
2,training引數時Call argument(呼叫引數),是執行過程中需要傳入的,用來控制模型在那個模式(train還是interfere)下執行。關於這個引數,如果使用模型呼叫fit()的話,是可以不給的(官方推薦是不給),因為在fit()的時候,模型會自己根據相應的階段(是train階段還是inference階段)決定training值,這是由learning——phase機制實現的。
關於trainable=False:如果設定trainable=False,那麼這一層的BatchNormalization層就會被凍結(freeze),它的trainable weights(可訓練引數)(就是gamma和beta)就不會被更新。
注意:freeze mode和inference mode是兩個概念。
但是,在BatchNormalization層中,如果把某一層BatchNormalization層設定為trainable=False,那麼這一層BatchNormalization層將一inference mode執行,也就是說(meaning that it will use the moving mean and the moving variance to normalize the current batch, rather than using the mean and variance of the current batch).
以上為個人經驗,希望能給大家一個參考,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45