<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 如何用Keras中的長短期記憶模型進行預測 > 原文: [https://machinelearningmastery.com/make-predictions-long-short-term-memory-models-keras/](https://machinelearningmastery.com/make-predictions-long-short-term-memory-models-keras/) 開發LSTM模型的目標是可以用于序列預測問題的最終模型。 在這篇文章中,您將了解如何最終確定模型并使用它來預測新數據。 完成這篇文章后,你會知道: * 如何訓練最終的LSTM模型。 * 如何保存最終的LSTM模型,然后再次加載它。 * 如何預測新數據。 讓我們開始吧。 ![How to Make Predictions with Long Short-Term Memory Models with Keras](img/cd1edf00ee74f318b8e52c73721422c7.jpg) 如何使用Keras 用長期短期記憶模型進行預測 [Damon jah](https://www.flickr.com/photos/damonjah/15490904985/) ,保留一些權利。 ## 步驟1.訓練最終模型 ### 什么是最終的LSTM模型? 最終的LSTM模型是用于對新數據進行預測的模型。 也就是說,給定輸入數據的新示例,您希望使用該模型來預測預期輸出。這可以是分類(分配標簽)或回歸(實際值)。 序列預測項目的目標是獲得最佳的最終模型,其中“最佳”定義為: * **數據**:您提供的歷史數據。 * **時間**:你必須在項目上花費的時間。 * **程序**:數據準備步驟,算法或算法,以及所選的算法配置。 在項目中,您可以收集數據,花費時間,發現數據準備過程,要使用的算法以及如何配置它。 最終的模型是這個過程的頂峰,你尋求的目的是為了開始實際做出預測。 沒有完美的模型這樣的東西。只有你能發現的最好的模型。 ### 如何敲定LSTM模型? 您可以通過在所有數據上應用所選的LSTM體系結構和配置來最終確定模型。 沒有訓練和測試拆分,也沒有交叉驗證折疊。將所有數據重新組合到一個大型訓練數據集中,以適合您的模型。 而已。 使用最終模型,您可以: * 保存模型以供以后或操作使用。 * 加載模型并對新數據進行預測。 有關訓練最終模型的更多信息,請參閱帖子: * [如何訓練最終機器學習模型](http://machinelearningmastery.com/train-final-machine-learning-model/) ## 第2步。保存最終模型 Keras提供了一個API,允許您將模型保存到文件中。 該模型以HDF5文件格式保存,可有效地在磁盤上存儲大量數字。您需要確認已安裝h5py Python庫。它可以安裝如下: ```py sudo pip install h5py ``` 您可以使用模型上的save()函數將適合的Keras模型保存到文件中。 例如: ```py # define model model = Sequential() model.add(LSTM(...)) # compile model model.compile(...) # fit model model.fit(...) # save model to single file model.save('lstm_model.h5') ``` 此單個文件將包含模型體系結構和權重。它還包括所選損失和優化算法的規范,以便您可以恢復訓練。 可以使用load_model()函數再次加載模型(來自不同Python會話中的不同腳本)。 ```py from keras.models import load_model # load model from single file model = load_model('lstm_model.h5') # make predictions yhat = model.predict(X, verbose=0) print(yhat) ``` 下面是一個完整的LSTM模型擬合示例,將其保存到單個文件中,然后再次加載。盡管模型的加載位于同一腳本中,但此部分可以從另一個Python會話中的另一個腳本運行。運行該示例將模型保存到文件lstm_model.h5。 ```py from keras.models import Sequential from keras.layers import Dense from keras.layers import LSTM from numpy import array from keras.models import load_model # return training data def get_train(): seq = [[0.0, 0.1], [0.1, 0.2], [0.2, 0.3], [0.3, 0.4], [0.4, 0.5]] seq = array(seq) X, y = seq[:, 0], seq[:, 1] X = X.reshape((len(X), 1, 1)) return X, y # define model model = Sequential() model.add(LSTM(10, input_shape=(1,1))) model.add(Dense(1, activation='linear')) # compile model model.compile(loss='mse', optimizer='adam') # fit model X,y = get_train() model.fit(X, y, epochs=300, shuffle=False, verbose=0) # save model to single file model.save('lstm_model.h5') # snip... # later, perhaps run from another script # load model from single file model = load_model('lstm_model.h5') # make predictions yhat = model.predict(X, verbose=0) print(yhat) ``` 有關保存和加載Keras模型的更多信息,請參閱帖子: * [保存并加載您的Keras深度學習模型](http://machinelearningmastery.com/save-load-keras-deep-learning-models/) ## 第3步。對新數據進行預測 在完成模型并將其保存到文件后,您可以加載它并使用它來進行預測。 For example: * 在序列回歸問題上,這可能是下一時間步的實際值的預測。 * 在序列分類問題上,這可能是給定輸入序列的類結果。 或者它可能是基于序列預測問題細節的任何其他變化。您希望給出輸入序列(X)的模型(yhat)的結果,其中序列(y)的真實結果當前是未知的。 您可能有興趣在生產環境中進行預測,作為接口的后端或手動進行預測。這實際上取決于項目的目標。 在擬合最終模型之前對訓練數據執行的任何數據準備也必須在進行預測之前應用于任何新數據。 預測是容易的部分。 它涉及獲取準備好的輸入數據(X)并在加載的模型上調用Keras預測方法之一。 請記住,進行預測(X)的輸入僅包括進行預測所需的輸入序列數據,而不是所有先前的訓練數據。在預測一個序列中的下一個值的情況下,輸入序列將是1個樣本,具有固定數量的時間步長和在定義和擬合模型時使用的特征。 例如,可以通過調用模型上的predict()函數來對輸出層的激活函數的形狀和比例進行原始預測: ```py X = ... model = ... yhat = model.predict(X) ``` 可以通過調用模型上的predict_classes()函數來預測類索引。 ```py X = ... model = ... yhat = model.predict_classes(X) ``` 可以通過調用模型上的predict_proba()函數來預測概率。 ```py X = ... model = ... yhat = model.predict_proba(X) ``` 有關Keras模型生命周期的更多信息,請參閱帖子: * [Keras中長期短期記憶模型的5步生命周期](http://machinelearningmastery.com/5-step-life-cycle-long-short-term-memory-models-keras/) ## 進一步閱讀 如果您要深入了解,本節將提供有關該主題的更多資源。 ### 帖子 * [如何訓練最終機器學習模型](http://machinelearningmastery.com/train-final-machine-learning-model/) * [保存并加載您的Keras深度學習模型](http://machinelearningmastery.com/save-load-keras-deep-learning-models/) * [Keras中長期短期記憶模型的5步生命周期](http://machinelearningmastery.com/5-step-life-cycle-long-short-term-memory-models-keras/) ### API * [如何保存Keras型號?在Keras FAQ](https://keras.io/getting-started/faq/#how-can-i-save-a-keras-model) 中。 * [保存并加載Keras API](https://keras.io/models/about-keras-models/) 。 ## 摘要 在這篇文章中,您了解了如何最終確定模型并使用它來預測新數據。 具體來說,你學到了: * 如何訓練最終的LSTM模型。 * 如何保存最終的LSTM模型,然后再次加載它。 * 如何預測新數據。 你有任何問題嗎? 在下面的評論中提出您的問題,我會盡力回答。
                  <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>

                              哎呀哎呀视频在线观看