<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 在 Keras 展示深度學習模型訓練歷史 > 原文: [https://machinelearningmastery.com/display-deep-learning-model-training-history-in-keras/](https://machinelearningmastery.com/display-deep-learning-model-training-history-in-keras/) 您可以通過觀察他們在訓練期間隨時間的表現來學習很多關于神經網絡和深度學習模型的知識。 Keras 是一個功能強大的 Python 庫,它提供了一個簡潔的交互方式用來創建深度學習模型,并包含更高技術的 TensorFlow 和 Theano 后端。 在本文中,您將了解如何在使用 Keras 進行 Python 訓練期間查看和可視化深度學習模型的性能表現。 讓我們開始吧。 * **2017 年 3 月更新:**更新了 Keras 2.0.2,TensorFlow 1.0.1 和 Theano 0.9.0 **的示例。** * **更新 March / 2018** :添加了備用鏈接以下載數據集,因為原始圖像已被刪除。 ![Display Deep Learning Model Training History in Keras](https://img.kancloud.cn/cf/70/cf707f068110a90995490476828b83da_640x425.png) 照片由 [Gordon Robertson](https://www.flickr.com/photos/gordon_robertson/5620659988/) 拍攝,并保留所屬權利。 ## Keras 中的訪問模型訓練歷史 Keras 提供了在訓練深度學習模型時注冊回調的功能。 訓練所有深度學習模型時注冊的默認回調之一是[歷史回調](http://keras.io/callbacks/),它記錄每個迭代期間的訓練指標,這包括損失和精確性(對于分類問題)以及驗證數據集的損失和準確性(如果已設置)。 歷史對象從調用返回到用于訓練模型的`fit()`函數返回,度量標準存儲在返回對象的歷史成員中的字典中。 例如,您可以在訓練模型后使用以下代碼段列出歷史記錄對象中收集的指標: ```py # 列出歷史對象的所有數據 print(history.history.keys()) ``` 例如,對于使用驗證數據集訓練分類問題的模型,這可能會產生以下列表: ```py ['acc', 'loss', 'val_acc', 'val_loss'] ``` 我們可以使用歷史對象中收集的數據來創建繪圖。 這些圖可以提供有關模型訓練的有用信息的指示,例如: * 整個迭代期間的的收斂速度(曲線坡度)。 * 模型是否已經收斂(平緩的曲線)。 * 模型是否可能過度學習訓練數據(驗證集曲線的拐點)。 等等。 ## 可視化 Keras 中的模型訓練歷史 我們可以從收集的歷史數據中創建圖形。 在下面的例子中,我們創建了一個小型網絡來模擬皮馬印第安人糖尿病二元分類問題。這是一個可從 UCI 機器學習庫獲得的小型數據集,您可以[下載數據集](http://archive.ics.uci.edu/ml/machine-learning-databases/pima-indians-diabetes/pima-indians-diabetes.data)并將其保存為當前工作目錄中的 _pima-indians-diabetes.csv_ (更新:[從此處下載](https://raw.githubusercontent.com/jbrownlee/Datasets/master/pima-indians-diabetes.data.csv))。 該示例收集從訓練模型返回的歷史記錄并創建兩個圖表: 1. 訓練時期訓練和驗證數據集的準確性圖。 2. 訓練和驗證數據集在訓練時期的損失圖。 ```py # 可視化訓練歷史 from keras.models import Sequential from keras.layers import Dense import matplotlib.pyplot as plt import numpy # 固定隨機種子再現性 seed = 7 numpy.random.seed(seed) # 加載數據集 dataset = numpy.loadtxt("pima-indians-diabetes.csv", delimiter=",") # 將數據集劃分為輸入變量和輸出變量 X = dataset[:,0:8] Y = dataset[:,8] # 創建模型 model = Sequential() model.add(Dense(12, input_dim=8, kernel_initializer='uniform', activation='relu')) model.add(Dense(8, kernel_initializer='uniform', activation='relu')) model.add(Dense(1, kernel_initializer='uniform', activation='sigmoid')) # 編譯模型 model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) # 擬合模型 history = model.fit(X, Y, validation_split=0.33, epochs=150, batch_size=10, verbose=0) # 列出所有的訓練歷史數據 print(history.history.keys()) # 總結精確度歷史 plt.plot(history.history['acc']) plt.plot(history.history['val_acc']) plt.title('model accuracy') plt.ylabel('accuracy') plt.xlabel('epoch') plt.legend(['train', 'test'], loc='upper left') plt.show() # 總結損失歷史 plt.plot(history.history['loss']) plt.plot(history.history['val_loss']) plt.title('model loss') plt.ylabel('loss') plt.xlabel('epoch') plt.legend(['train', 'test'], loc='upper left') plt.show() ``` 如下圖所示,驗證數據集的歷史記錄按照模型的測試數據集的慣例被標記為測試數據。 從精度圖中我們可以看到,由于兩個數據集的精度趨勢在過去幾個訓練迭代中仍在上升,因此模型可能可以受到更多的訓練,我們還可以看到,兩個數據集可比較的技巧,顯示了模型尚未過度學習訓練數據集。 ![Plot of Model Accuracy on Train and Validation Datasets](https://img.kancloud.cn/b3/df/b3df318b70177a873f70679e3c679d92_812x612.png) 圖:訓練和驗證數據集的模型精度圖 從損失圖中我們可以看到,模型在訓練和驗證數據集(標記測試)上具有可比較的性能,如果這些相互平行圖開始一較為一致的分散,這可能是一個模型過早停止訓練的信號。 ![Plot of Model Loss on Training and Validation Datasets](https://img.kancloud.cn/96/51/965127d4d07b2c3df50159a7442a6e55_812x612.png) 圖:關于訓練和驗證數據集的模型損失圖 ## 摘要 在這篇文章中,您了解了了在深度學習模型訓練過程中收集和檢查指標的重要性。 您了解了 Keras 中的歷史回調以及它是如何從調用`fit()`函數返回以訓練模型的,您學習了如何根據訓練期間收集的歷史數據創建繪圖。 您對模型訓練歷史或這篇文章有任何疑問嗎?在評論中提出您的問題,我會盡力回答。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看