最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺談keras 模型用于預(yù)測時(shí)的注意事項(xiàng)

 更新時(shí)間:2020年06月27日 08:56:03   作者:機(jī)器AI  
這篇文章主要介紹了淺談keras 模型用于預(yù)測時(shí)的注意事項(xiàng),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

為什么訓(xùn)練誤差比測試誤差高很多?

一個(gè)Keras的模型有兩個(gè)模式:訓(xùn)練模式測試模式。一些正則機(jī)制,如Dropout,L1/L2正則項(xiàng)在測試模式下將不被啟用。

另外,訓(xùn)練誤差是訓(xùn)練數(shù)據(jù)每個(gè)batch的誤差的平均。在訓(xùn)練過程中,每個(gè)epoch起始時(shí)的batch的誤差要大一些,而后面的batch的誤差要小一些。另一方面,每個(gè)epoch結(jié)束時(shí)計(jì)算的測試誤差是由模型在epoch結(jié)束時(shí)的狀態(tài)決定的,這時(shí)候的網(wǎng)絡(luò)將產(chǎn)生較小的誤差。

【Tips】可以通過定義回調(diào)函數(shù)將每個(gè)epoch的訓(xùn)練誤差和測試誤差并作圖,如果訓(xùn)練誤差曲線和測試誤差曲線之間有很大的空隙,說明你的模型可能有過擬合的問題。當(dāng)然,這個(gè)問題與Keras無關(guān)。

在keras中文文檔中指出了這一誤區(qū),筆者認(rèn)為產(chǎn)生這一問題的原因在于網(wǎng)絡(luò)實(shí)現(xiàn)的機(jī)制。即dropout層有前向?qū)崿F(xiàn)和反向?qū)崿F(xiàn)兩種方式,這就決定了概率p是在訓(xùn)練時(shí)候設(shè)置還是測試的時(shí)候進(jìn)行設(shè)置

利用預(yù)訓(xùn)練的權(quán)值進(jìn)行Fine tune時(shí)的注意事項(xiàng):

不能把自己添加的層進(jìn)行將隨機(jī)初始化后直接連接到前面預(yù)訓(xùn)練后的網(wǎng)絡(luò)層

in order to perform fine-tuning, all layers should start with properly trained weights: for instance you should not slap a randomly initialized fully-connected network on top of a pre-trained convolutional base. This is because the large gradient updates triggered by the randomly initialized weights would wreck the learned weights in the convolutional base. In our case this is why we first train the top-level classifier, and only then start fine-tuning convolutional weights alongside it.

we choose to only fine-tune the last convolutional block rather than the entire network in order to prevent overfitting, since the entire network would have a very large entropic capacity and thus a strong tendency to overfit. The features learned by low-level convolutional blocks are more general, less abstract than those found higher-up, so it is sensible to keep the first few blocks fixed (more general features) and only fine-tune the last one (more specialized features).

fine-tuning should be done with a very slow learning rate, and typically with the SGD optimizer rather than an adaptative learning rate optimizer such as RMSProp. This is to make sure that the magnitude of the updates stays very small, so as not to wreck the previously learned features.

補(bǔ)充知識:keras框架中用keras.models.Model做的時(shí)候預(yù)測數(shù)據(jù)不是標(biāo)簽的問題

我們發(fā)現(xiàn),在用Sequential去搭建網(wǎng)絡(luò)的時(shí)候,其中有predict和predict_classes兩個(gè)預(yù)測函數(shù),前一個(gè)是返回的精度,后面的是返回的具體標(biāo)簽。但是,在使用keras.models.Model去做的時(shí)候,就會發(fā)現(xiàn),它只有一個(gè)predict函數(shù),沒有返回標(biāo)簽的predict_classes函數(shù),所以,針對這個(gè)問題,我們將其改寫。改寫如下:

def my_predict_classes(predict_data):
  if predict_data.shape[-1] > 1:
    return predict_data.argmax(axis=-1)
  else:
    return (predict_data > 0.5).astype('int32')
 
# 這里省略網(wǎng)絡(luò)搭建部分。。。。
 
model = Model(data_input, label_output)
model.compile(loss='categorical_crossentropy',
       optimizer=keras.optimizers.Nadam(lr=0.002),
       metrics=['accuracy'])
model.summary()
 
y_predict = model.predict(X_test)
y_pre = my_predict_classes(y_predict)

這樣,y_pre就是具體的標(biāo)簽了。

以上這篇淺談keras 模型用于預(yù)測時(shí)的注意事項(xiàng)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python用模塊zlib壓縮與解壓字符串和文件的方法

    python用模塊zlib壓縮與解壓字符串和文件的方法

    Python標(biāo)準(zhǔn)模塊中,有多個(gè)模塊用于數(shù)據(jù)的壓縮與解壓縮,如zipfile,gzip, bz2等等。這篇文章主要給大家介紹了python如何利用模塊zlib壓縮與解壓字符串和文件的方法,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-12-12
  • python機(jī)器學(xué)習(xí)基礎(chǔ)決策樹與隨機(jī)森林概率論

    python機(jī)器學(xué)習(xí)基礎(chǔ)決策樹與隨機(jī)森林概率論

    這篇文章主要為大家介紹了python機(jī)器學(xué)習(xí)基礎(chǔ)決策樹與隨機(jī)森林概率論詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-11-11
  • python實(shí)現(xiàn)畫循環(huán)圓

    python實(shí)現(xiàn)畫循環(huán)圓

    今天小編就為大家分享一篇python實(shí)現(xiàn)畫循環(huán)圓,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Python代碼中引用已經(jīng)寫好的模塊、方法的兩種方式

    Python代碼中引用已經(jīng)寫好的模塊、方法的兩種方式

    這篇文章主要介紹了Python代碼中引用已經(jīng)寫好的模塊、方法,下面就介紹兩種方式,可以簡潔明了地調(diào)用自己在其他模塊寫的代碼,需要的朋友可以參考下
    2022-07-07
  • python中plt.imshow與cv2.imshow顯示顏色問題

    python中plt.imshow與cv2.imshow顯示顏色問題

    這篇文章主要介紹了plt.imshow與cv2.imshow顯示顏色問題,本文給大家介紹的非常詳細(xì),同時(shí)給大家提到了cv2.imshow()和plt.imshow()的區(qū)別講解,需要的朋友可以參考下
    2020-07-07
  • python判斷字符串的前兩個(gè)字母是否是"id"的示例代碼

    python判斷字符串的前兩個(gè)字母是否是"id"的示例代碼

    這篇文章主要介紹了python判斷字符串的前兩個(gè)字母是否是”id",使用 Python 的字符串切片來判斷一個(gè)字符串的前兩個(gè)字母是否是 "id",本文結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • Python yield的用法實(shí)例分析

    Python yield的用法實(shí)例分析

    這篇文章主要介紹了Python yield的用法,結(jié)合實(shí)例形式分析了Python yield的基本功能、使用方法及操作注意事項(xiàng),需要的朋友可以參考下
    2020-03-03
  • Python+tkinter實(shí)現(xiàn)動(dòng)態(tài)連接數(shù)據(jù)庫

    Python+tkinter實(shí)現(xiàn)動(dòng)態(tài)連接數(shù)據(jù)庫

    在使用 Tkinter (tk) 開發(fā) GUI 程序時(shí),可以通過多種方式讓用戶自由更改數(shù)據(jù)庫連接地址,本文主要介紹了三種常用方法,感興趣的小伙伴可以了解下
    2025-03-03
  • 詳解python的四種內(nèi)置數(shù)據(jù)結(jié)構(gòu)

    詳解python的四種內(nèi)置數(shù)據(jù)結(jié)構(gòu)

    這篇文章主要介紹了python的四種內(nèi)置數(shù)據(jù)結(jié)構(gòu),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 講解Python3中NumPy數(shù)組尋找特定元素下標(biāo)的兩種方法

    講解Python3中NumPy數(shù)組尋找特定元素下標(biāo)的兩種方法

    這篇文章主要介紹了講解Python3中NumPy數(shù)組尋找特定元素下標(biāo)的兩種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08

最新評論

凤庆县| 通州区| 黄冈市| 河津市| 乌拉特后旗| 共和县| 芒康县| 颍上县| 德保县| 洪洞县| 巴林左旗| 泌阳县| 宿州市| 开封县| 木里| 高唐县| 西充县| 滦平县| 通渭县| 泗阳县| 成都市| 阜新| 望江县| 右玉县| 精河县| 宁蒗| 阜南县| 木里| 广宁县| 昂仁县| 日土县| 平利县| 鄢陵县| 南岸区| 嘉鱼县| 高青县| 东乌珠穆沁旗| 漳州市| 阿勒泰市| 彰化县| 南丹县|