欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談Keras中shuffle和validation_split的順序

 更新時(shí)間:2020年06月19日 09:37:19   作者:謝潤(rùn)忠  
這篇文章主要介紹了淺談Keras中shuffle和validation_split的順序,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

模型的fit函數(shù)有兩個(gè)參數(shù),shuffle用于將數(shù)據(jù)打亂,validation_split用于在沒(méi)有提供驗(yàn)證集的時(shí)候,按一定比例從訓(xùn)練集中取出一部分作為驗(yàn)證集

這里有個(gè)陷阱是,程序是先執(zhí)行validation_split,再執(zhí)行shuffle的,所以會(huì)出現(xiàn)這種情況:

假如你的訓(xùn)練集是有序的,比方說(shuō)正樣本在前負(fù)樣本在后,又設(shè)置了validation_split,那么你的驗(yàn)證集中很可能將全部是負(fù)樣本

同樣的,這個(gè)東西不會(huì)有任何錯(cuò)誤報(bào)出來(lái),因?yàn)镵eras不可能知道你的數(shù)據(jù)有沒(méi)有經(jīng)過(guò)shuffle,保險(xiǎn)起見如果你的數(shù)據(jù)是沒(méi)shuffle過(guò)的,最好手動(dòng)shuffle一下

補(bǔ)充知識(shí):Keras使用陷阱

1 TF卷積核與TH卷積核

Keras提供了兩套后端,Theano和Tensorflow。如果你從無(wú)到有搭建自己的一套網(wǎng)絡(luò),則大可放心。但如果你想使用一個(gè)已有網(wǎng)絡(luò),或把一個(gè)用th/tf 訓(xùn)練的網(wǎng)絡(luò)以另一種后端應(yīng)用,在載入的時(shí)候你就應(yīng)該特別小心了。

卷積核與所使用的后端不匹配,不會(huì)報(bào)任何錯(cuò)誤,因?yàn)樗鼈兊膕hape是完全一致的,沒(méi)有方法能夠檢測(cè)出這種錯(cuò)誤。

在使用預(yù)訓(xùn)練模型時(shí),一個(gè)建議是首先找一些測(cè)試樣本,看看模型的表現(xiàn)是否與預(yù)計(jì)的一致。

如需對(duì)卷積核進(jìn)行轉(zhuǎn)換,可以使用utils.convert_all_kernels_in_model對(duì)模型的所有卷積核進(jìn)行轉(zhuǎn)換

2 向BN層中載入權(quán)重

如果你不知道從哪里淘來(lái)一個(gè)預(yù)訓(xùn)練好的BN層,想把它的權(quán)重載入到Keras中,要小心參數(shù)的載入順序。

一個(gè)典型的例子是,將caffe的BN層參數(shù)載入Keras中,caffe的BN由兩部分構(gòu)成,bn層的參數(shù)是mean,std,scale層的參數(shù)是gamma,beta。

按照BN的文章順序,似乎載入Keras BN層的參數(shù)應(yīng)該是[mean, std, gamma, beta];

然而不是的,Keras的BN層參數(shù)順序應(yīng)該是[gamma, beta, mean, std],這是因?yàn)間amma和beta是可訓(xùn)練的參數(shù),而mean和std不是。Keras的可訓(xùn)練參數(shù)在前,不可訓(xùn)練參數(shù)在后

錯(cuò)誤的權(quán)重順序不會(huì)引起任何報(bào)錯(cuò),因?yàn)樗鼈兊膕hape完全相同

3 shuffle和validation_split的順序

模型的fit函數(shù)有兩個(gè)參數(shù),shuffle用于將數(shù)據(jù)打亂,validation_split用于在沒(méi)有提供驗(yàn)證集的時(shí)候,按一定比例從訓(xùn)練集中取出一部分作為驗(yàn)證集.

這里有個(gè)陷阱是,程序是先執(zhí)行validation_split,再執(zhí)行shuffle的,所以會(huì)出現(xiàn)這種情況:

假如你的訓(xùn)練集是有序的,比方說(shuō)正樣本在前負(fù)樣本在后,又設(shè)置了validation_split,那么你的驗(yàn)證集中很可能將全部是負(fù)樣本。

同樣的,這個(gè)東西不會(huì)有任何錯(cuò)誤報(bào)出來(lái),因?yàn)镵eras不可能知道你的數(shù)據(jù)有沒(méi)有經(jīng)過(guò)shuffle,保險(xiǎn)起見如果你的數(shù)據(jù)是沒(méi)shuffle過(guò)的,最好手動(dòng)shuffle一下。

4 Merge層的層對(duì)象與函數(shù)方法

Keras定義了一套用于融合張量的方法,位于keras.layers.Merge,里面有兩套工具,以大寫字母開頭的是Keras Layer類,使用這種工具是需要實(shí)例化一個(gè)Layer對(duì)象,然后再使用。以小寫字母開頭的是張量函數(shù)方法,本質(zhì)上是對(duì)Merge Layer對(duì)象的一個(gè)包裝,但使用更加方便一些。注意辨析。

以上這篇淺談Keras中shuffle和validation_split的順序就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python通過(guò)zlib實(shí)現(xiàn)壓縮與解壓字符串的方法

    python通過(guò)zlib實(shí)現(xiàn)壓縮與解壓字符串的方法

    這篇文章主要介紹了python通過(guò)zlib實(shí)現(xiàn)壓縮與解壓字符串的方法,較為詳細(xì)的介紹了zlib的用法及使用zlib.compressobj和zlib.decompressobj對(duì)文件進(jìn)行壓縮解壓的方法,需要的朋友可以參考下
    2014-11-11
  • 使用 Celery Once 來(lái)防止 Celery 重復(fù)執(zhí)行同一個(gè)任務(wù)

    使用 Celery Once 來(lái)防止 Celery 重復(fù)執(zhí)行同一個(gè)任務(wù)

    這篇文章主要介紹了使用 Celery Once 來(lái)防止 Celery 重復(fù)執(zhí)行同一個(gè)任務(wù),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-10-10
  • django配置app中的靜態(tài)文件步驟

    django配置app中的靜態(tài)文件步驟

    這篇文章主要介紹了django配置app中的靜態(tài)文件步驟,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03
  • 基于Python編寫一個(gè)根據(jù)姓名測(cè)性別的小程序

    基于Python編寫一個(gè)根據(jù)姓名測(cè)性別的小程序

    這篇文章主要為大家介紹了如何利用Python編寫一款根據(jù)中文名能猜測(cè)性別的一款界面化的小程序,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-03-03
  • Django web自定義通用權(quán)限控制實(shí)現(xiàn)方法

    Django web自定義通用權(quán)限控制實(shí)現(xiàn)方法

    這篇文章主要介紹了Django web自定義通用權(quán)限控制實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • python使用正則表達(dá)式替換匹配成功的組并輸出替換的次數(shù)

    python使用正則表達(dá)式替換匹配成功的組并輸出替換的次數(shù)

    正則表達(dá)式是一個(gè)特殊的字符序列,它能幫助你方便的檢查一個(gè)字符串是否與某種模式匹配。這篇文章主要介紹了python使用正則表達(dá)式替換匹配成功的組并輸出替換的次數(shù),需要的朋友可以參考下
    2017-11-11
  • python模塊詳解之pywin32使用文檔(python操作windowsAPI)

    python模塊詳解之pywin32使用文檔(python操作windowsAPI)

    pywin32是一個(gè)第三方模塊庫(kù),主要的作用是方便python開發(fā)者快速調(diào)用windows API的一個(gè)模塊庫(kù),這篇文章主要給大家介紹了關(guān)于python模塊詳解之pywin32使用文檔的相關(guān)資料,文中將python操作windowsAPI介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • Python使用matplotlib實(shí)現(xiàn)的圖像讀取、切割裁剪功能示例

    Python使用matplotlib實(shí)現(xiàn)的圖像讀取、切割裁剪功能示例

    這篇文章主要介紹了Python使用matplotlib實(shí)現(xiàn)的圖像讀取、切割裁剪功能,結(jié)合實(shí)例形式分析了Python基于matplotlib操作圖片的加載、讀取、坐標(biāo)控制及裁剪相關(guān)操作技巧,需要的朋友可以參考下
    2018-04-04
  • 詳解Pycharm與anaconda安裝配置指南

    詳解Pycharm與anaconda安裝配置指南

    這篇文章主要介紹了詳解Pycharm與anaconda安裝配置指南,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Python中datetime模塊參考手冊(cè)

    Python中datetime模塊參考手冊(cè)

    Python處理時(shí)間和日期方面的模塊,主要就是datetime、time、calendar三個(gè)模塊的使用。下面這篇文章主要給大家介紹的是Python中的datetime模塊,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-01-01

最新評(píng)論