淺談Keras中shuffle和validation_split的順序
模型的fit函數(shù)有兩個參數(shù),shuffle用于將數(shù)據(jù)打亂,validation_split用于在沒有提供驗證集的時候,按一定比例從訓練集中取出一部分作為驗證集
這里有個陷阱是,程序是先執(zhí)行validation_split,再執(zhí)行shuffle的,所以會出現(xiàn)這種情況:
假如你的訓練集是有序的,比方說正樣本在前負樣本在后,又設(shè)置了validation_split,那么你的驗證集中很可能將全部是負樣本
同樣的,這個東西不會有任何錯誤報出來,因為Keras不可能知道你的數(shù)據(jù)有沒有經(jīng)過shuffle,保險起見如果你的數(shù)據(jù)是沒shuffle過的,最好手動shuffle一下
補充知識:Keras使用陷阱
1 TF卷積核與TH卷積核
Keras提供了兩套后端,Theano和Tensorflow。如果你從無到有搭建自己的一套網(wǎng)絡(luò),則大可放心。但如果你想使用一個已有網(wǎng)絡(luò),或把一個用th/tf 訓練的網(wǎng)絡(luò)以另一種后端應用,在載入的時候你就應該特別小心了。
卷積核與所使用的后端不匹配,不會報任何錯誤,因為它們的shape是完全一致的,沒有方法能夠檢測出這種錯誤。
在使用預訓練模型時,一個建議是首先找一些測試樣本,看看模型的表現(xiàn)是否與預計的一致。
如需對卷積核進行轉(zhuǎn)換,可以使用utils.convert_all_kernels_in_model對模型的所有卷積核進行轉(zhuǎn)換
2 向BN層中載入權(quán)重
如果你不知道從哪里淘來一個預訓練好的BN層,想把它的權(quán)重載入到Keras中,要小心參數(shù)的載入順序。
一個典型的例子是,將caffe的BN層參數(shù)載入Keras中,caffe的BN由兩部分構(gòu)成,bn層的參數(shù)是mean,std,scale層的參數(shù)是gamma,beta。
按照BN的文章順序,似乎載入Keras BN層的參數(shù)應該是[mean, std, gamma, beta];
然而不是的,Keras的BN層參數(shù)順序應該是[gamma, beta, mean, std],這是因為gamma和beta是可訓練的參數(shù),而mean和std不是。Keras的可訓練參數(shù)在前,不可訓練參數(shù)在后
錯誤的權(quán)重順序不會引起任何報錯,因為它們的shape完全相同
3 shuffle和validation_split的順序
模型的fit函數(shù)有兩個參數(shù),shuffle用于將數(shù)據(jù)打亂,validation_split用于在沒有提供驗證集的時候,按一定比例從訓練集中取出一部分作為驗證集.
這里有個陷阱是,程序是先執(zhí)行validation_split,再執(zhí)行shuffle的,所以會出現(xiàn)這種情況:
假如你的訓練集是有序的,比方說正樣本在前負樣本在后,又設(shè)置了validation_split,那么你的驗證集中很可能將全部是負樣本。
同樣的,這個東西不會有任何錯誤報出來,因為Keras不可能知道你的數(shù)據(jù)有沒有經(jīng)過shuffle,保險起見如果你的數(shù)據(jù)是沒shuffle過的,最好手動shuffle一下。
4 Merge層的層對象與函數(shù)方法
Keras定義了一套用于融合張量的方法,位于keras.layers.Merge,里面有兩套工具,以大寫字母開頭的是Keras Layer類,使用這種工具是需要實例化一個Layer對象,然后再使用。以小寫字母開頭的是張量函數(shù)方法,本質(zhì)上是對Merge Layer對象的一個包裝,但使用更加方便一些。注意辨析。
以上這篇淺談Keras中shuffle和validation_split的順序就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
django框架中ajax的使用及避開CSRF 驗證的方式詳解
這篇文章主要介紹了django框架中ajax的使用及避開CSRF 驗證的方式,結(jié)合實例形式分析了Django框架ajax后臺交互與排除驗證csrf相關(guān)操作技巧,需要的朋友可以參考下2019-12-12
python和opencv構(gòu)建運動檢測器的實現(xiàn)
這篇文章主要介紹了python和opencv構(gòu)建運動檢測器的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-03-03

