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

解讀Tensorflow2.0訓(xùn)練損失值降低,但測試正確率基本不變的情況

 更新時(shí)間:2023年06月25日 10:08:06   作者:mu_xing_  
這篇文章主要介紹了Tensorflow2.0訓(xùn)練損失值降低,但測試正確率基本不變的情況,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Tensorflow2.0訓(xùn)練損失值降低,但測試正確率基本不變的情況

問題描述

對于一個(gè)架構(gòu),在識別mnist手寫數(shù)字集精度較高的情況下,更換其他數(shù)據(jù)集,卻無法得到較高的識別結(jié)果。假設(shè)有n個(gè)類別,修改輸入端、輸出端及幾個(gè)卷積核的大小,識別時(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ǎng)絡(luò)的架構(gòu)。

loss計(jì)算方法

選擇loss計(jì)算的公式方法是否有問題。

數(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畫出來。

我們在使用model.fit()函數(shù)進(jìn)行訓(xùn)練時(shí),同步記錄了訓(xùn)練集和測試集的損失和準(zhǔn)確率。

可以使用history進(jìn)行調(diào)用,如下:

#  使用history將訓(xùn)練集和測試集的loss和acc調(diào)出來
acc = history.history['sparse_categorical_accuracy']  # 訓(xùn)練集準(zhǔn)確率
val_acc = history.history['val_sparse_categorical_accuracy']  # 測試集準(zhǔn)確率
loss = history.history['loss']  # 訓(xùn)練集損失
val_loss = history.history['val_loss']  # 測試集損失
#  打印acc和loss,采用一個(gè)圖進(jìn)行顯示。
#  將acc打印出來。
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)文章

最新評論