解讀Tensorflow2.0訓(xùn)練損失值降低,但測(cè)試正確率基本不變的情況
Tensorflow2.0訓(xùn)練損失值降低,但測(cè)試正確率基本不變的情況
問(wèn)題描述
對(duì)于一個(gè)架構(gòu),在識(shí)別mnist手寫(xiě)數(shù)字集精度較高的情況下,更換其他數(shù)據(jù)集,卻無(wú)法得到較高的識(shí)別結(jié)果。假設(shè)有n個(gè)類別,修改輸入端、輸出端及幾個(gè)卷積核的大小,識(shí)別時(shí)雖然loss在減小,但正確率acc穩(wěn)定在1/n左右不變化。
解決方法
修改參數(shù)
主要考慮的參數(shù)有batch、學(xué)習(xí)率和keep_prob:
- batch ,降低該值,使得網(wǎng)絡(luò)充分學(xué)習(xí)數(shù)據(jù);
- 學(xué)習(xí)率,降低該值,使得模型梯度下降;
- keep_prob ,降低該值,使得模型具有學(xué)習(xí)能力。
檢查模型
檢查模型是否有問(wèn)題,修改網(wǎng)絡(luò)的架構(gòu)。
loss計(jì)算方法
選擇loss計(jì)算的公式方法是否有問(wèn)題。
數(shù)據(jù)標(biāo)簽
檢查數(shù)據(jù)的標(biāo)簽是否轉(zhuǎn)換正確。
權(quán)重初始值
修改權(quán)重的初始化方法。
Tensorflow2.0準(zhǔn)確率和損失值的可視化
進(jìn)行準(zhǔn)確率和損失值的可視化,就是將acc和loss使用matplot畫(huà)出來(lái)。
我們?cè)谑褂胢odel.fit()函數(shù)進(jìn)行訓(xùn)練時(shí),同步記錄了訓(xùn)練集和測(cè)試集的損失和準(zhǔn)確率。
可以使用history進(jìn)行調(diào)用,如下:
# 使用history將訓(xùn)練集和測(cè)試集的loss和acc調(diào)出來(lái) acc = history.history['sparse_categorical_accuracy'] # 訓(xùn)練集準(zhǔn)確率 val_acc = history.history['val_sparse_categorical_accuracy'] # 測(cè)試集準(zhǔn)確率 loss = history.history['loss'] # 訓(xùn)練集損失 val_loss = history.history['val_loss'] # 測(cè)試集損失 # 打印acc和loss,采用一個(gè)圖進(jìn)行顯示。 # 將acc打印出來(lái)。 plt.subplot(1, 2, 1) # 將圖像分為一行兩列,將其顯示在第一列 plt.plot(acc, label='Training Accuracy') plt.plot(val_acc, label='Validation Accuracy') plt.title('Training and Validation Accuracy') plt.legend() plt.subplot(1, 2, 2) # 將其顯示在第二列 plt.plot(loss, label='Training Loss') plt.plot(val_loss, label='Validation Loss') plt.title('Training and Validation Loss') plt.legend() plt.show()
將本篇代碼放在上篇文章代碼后,運(yùn)行即可。
輸出結(jié)果:
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python自動(dòng)化測(cè)試Eclipse+Pydev 搭建開(kāi)發(fā)環(huán)境
本文主要介紹python自動(dòng)化測(cè)試環(huán)境搭建,這里對(duì)Eclipse+Pydev 搭建開(kāi)發(fā)環(huán)境做了圖文詳解,有需要的小伙伴可以參考下2016-08-08Python中pycharm編輯器界面風(fēng)格修改方法
這篇文章主要介紹了Python中pycharm編輯器界面風(fēng)格修改方法,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03Python實(shí)現(xiàn)模擬錕斤拷等各類亂碼詳解
說(shuō)到亂碼問(wèn)題就不得不提到錕斤拷,這算是非常常見(jiàn)的一種亂碼形式,那么它到底是經(jīng)過(guò)何種錯(cuò)誤操作產(chǎn)生的呢?本文我們就來(lái)一步步探究2023-02-02Python協(xié)程異步爬取數(shù)據(jù)(asyncio+aiohttp)實(shí)例
這篇文章主要為大家介紹了Python協(xié)程異步爬取數(shù)據(jù)(asyncio+aiohttp)實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08python實(shí)現(xiàn)比較兩段文本不同之處的方法
這篇文章主要介紹了python實(shí)現(xiàn)比較兩段文本不同之處的方法,涉及Python針對(duì)文本與字符串的相關(guān)操作技巧,需要的朋友可以參考下2015-05-05利用Python編寫(xiě)的實(shí)用運(yùn)維腳本分享
Python在很大程度上可以對(duì)shell腳本進(jìn)行替代。筆者一般單行命令用shell,復(fù)雜點(diǎn)的多行操作就直接用Python了。本文歸納了Python中一些實(shí)用腳本操作,需要的可以參考一下2022-05-05Django框架安裝及項(xiàng)目創(chuàng)建過(guò)程解析
這篇文章主要介紹了Django框架安裝及項(xiàng)目創(chuàng)建過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09python操作excel的方法(xlsxwriter包的使用)
這篇文章主要為大家詳細(xì)介紹了python操作excel的方法,xlsxwriter包的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06