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

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 用 Keras 逐步開發 Python 中的第一個神經網絡 > 原文: [https://machinelearningmastery.com/tutorial-first-neural-network-python-keras/](https://machinelearningmastery.com/tutorial-first-neural-network-python-keras/) Keras 是一個功能強大且易于使用的 Python 庫,用于開發和評估[深度學習](http://machinelearningmastery.com/what-is-deep-learning/)模型。 它包含了高效的數值計算庫 Theano 和 TensorFlow,允許您在幾行代碼中定義和訓練神經網絡模型。 在這篇文章中,您將了解如何使用 Keras 在 Python 中創建第一個神經網絡模型。 讓我們開始吧。 * **2017 年 2 月更新**:更新了預測示例,因此在 Python 2 和 Python 3 中可以進行舍入。 * **2017 年 3 月更新**:更新了 Keras 2.0.2,TensorFlow 1.0.1 和 Theano 0.9.0 的示例。 * **更新 Mar / 2018** :添加了備用鏈接以下載數據集,因為原始圖像已被刪除。 ![Tour of Deep Learning Algorithms](https://img.kancloud.cn/b3/8c/b38c3edcee0cffa6cbb98c4c87f86fd5_640x480.png) 使用 Keras 逐步開發 Python 中的第一個神經網絡 Phil Whitehouse 的照片,保留一些權利。 ## 教程概述 不需要很多代碼,但我們會慢慢跨過它,以便您知道將來如何創建自己的模型。 您將在本教程中介紹的步驟如下: 1. 加載數據。 2. 定義模型。 3. 編譯模型。 4. 適合模型。 5. 評估模型。 6. 把它綁在一起。 本教程有一些要求: 1. 您已安裝并配置了 Python 2 或 3。 2. 您已安裝并配置了 SciPy(包括 NumPy)。 3. 您安裝并配置了 Keras 和后端(Theano 或 TensorFlow)。 如果您需要有關環境的幫助,請參閱教程: * [如何使用 Anaconda 設置用于機器學習和深度學習的 Python 環境](http://machinelearningmastery.com/setup-python-environment-machine-learning-deep-learning-anaconda/) 創建一個名為 **keras_first_network.py** 的新文件,然后在您輸入時將代碼輸入或復制并粘貼到文件中。 ## 1.加載數據 每當我們使用使用隨機過程(例如隨機數)的機器學習算法時,最好設置隨機數種子。 這樣您就可以反復運行相同的代碼并獲得相同的結果。如果您需要演示結果,使用相同的隨機源比較算法或調試代碼的一部分,這非常有用。 您可以使用您喜歡的任何種子初始化隨機數生成器,例如: ```py from keras.models import Sequential from keras.layers import Dense import numpy # fix random seed for reproducibility numpy.random.seed(7) ``` 現在我們可以加載我們的數據。 在本教程中,我們將使用 Pima Indians 糖尿病數據集。這是來自 UCI 機器學習庫的標準機器學習數據集。它描述了皮馬印第安人的患者病歷數據,以及他們是否在五年內患有糖尿病。 因此,它是二元分類問題(糖尿病發作為 1 或不為 0)。描述每個患者的所有輸入變量都是數字的。這使得它可以直接用于期望數字輸入和輸出值的神經網絡,是我們在 Keras 的第一個神經網絡的理想選擇。 * [數據集文件](https://raw.githubusercontent.com/jbrownlee/Datasets/master/pima-indians-diabetes.data.csv) * [數據集詳情](https://raw.githubusercontent.com/jbrownlee/Datasets/master/pima-indians-diabetes.names) 下載數據集并將其放在本地工作目錄中,與 python 文件相同。使用文件名保存: ```py pima-indians-diabetes.csv ``` 您現在可以使用 NumPy 函數 **loadtxt()**直接加載文件。有八個輸入變量和一個輸出變量(最后一列)。加載后,我們可以將數據集拆分為輸入變量(X)和輸出類變量(Y)。 ```py # load pima indians dataset dataset = numpy.loadtxt("pima-indians-diabetes.csv", delimiter=",") # split into input (X) and output (Y) variables X = dataset[:,0:8] Y = dataset[:,8] ``` 我們初始化了隨機數生成器,以確保我們的結果可重現并加載我們的數據。我們現在準備定義我們的神經網絡模型。 請注意,數據集有 9 列,范圍 0:8 將選擇 0 到 7 之間的列,在索引 8 之前停止。如果這對您來說是新的,那么您可以在此帖子中了解有關數組切片和范圍的更多信息: * [如何在 Python 中為機器學習索引,切片和重塑 NumPy 數組](https://machinelearningmastery.com/index-slice-reshape-numpy-arrays-machine-learning-python/) ## 2.定義模型 Keras 中的模型被定義為層序列。 我們創建一個 Sequential 模型并一次添加一個層,直到我們對網絡拓撲感到滿意為止。 要做的第一件事是確保輸入層具有正確數量的輸入。當使用 **input_dim** 參數創建第一層并為 8 個輸入變量將其設置為 8 時,可以指定此項。 我們如何知道層數及其類型? 這是一個非常難的問題。我們可以使用啟發式方法,通常通過試驗和錯誤實驗的過程找到最好的網絡結構。通常,如果有任何幫助,您需要一個足夠大的網絡來捕獲問題的結構。 在此示例中,我們將使用具有三個層的完全連接的網絡結構。 完全連接的層使用 Dense 類定義。我們可以指定層中神經元的數量作為第一個參數,初始化方法作為 **init** 指定第二個參數,并使用**激活**參數指定激活函數。 在這種情況下,我們將網絡權重初始化為從均勻分布(' **uniform** ')生成的小隨機數,在這種情況下介于 0 和 0.05 之間,因為這是 Keras 中的默認均勻權重初始化。對于從高斯分布產生的小隨機數,另一種傳統的替代方案是'**正常'**。 我們將在前兩層使用[整流器](https://en.wikipedia.org/wiki/Rectifier_(neural_networks))(' **relu** ')激活函數,在輸出層使用 sigmoid 函數。過去,所有層都優先選擇 sigmoid 和 tanh 激活函數。目前,使用整流器激活功能可以獲得更好的表現。我們在輸出層使用 sigmoid 來確保我們的網絡輸出介于 0 和 1 之間,并且很容易映射到 1 級概率或者使用默認閾值 0.5 捕捉到任一類的硬分類。 我們可以通過添加每一層將它們拼湊在一起。第一層有 12 個神經元,需要 8 個輸入變量。第二個隱藏層有 8 個神經元,最后,輸出層有 1 個神經元來預測類別(是否發生糖尿病)。 ```py # create model model = Sequential() model.add(Dense(12, input_dim=8, activation='relu')) model.add(Dense(8, activation='relu')) model.add(Dense(1, activation='sigmoid')) ``` ## 3.編譯模型 既然定義了模型,我們就可以編譯它。 編譯模型使用封面下的高效數字庫(所謂的后端),如 Theano 或 TensorFlow。后端自動選擇最佳方式來表示網絡以進行訓練并使預測在硬件上運行,例如 CPU 或 GPU 甚至分布式。 編譯時,我們必須指定訓練網絡時所需的一些其他屬性。記住訓練網絡意味著找到最佳權重集來預測這個問題。 我們必須指定用于評估一組權重的損失函數,用于搜索網絡的不同權重的優化器以及我們希望在訓練期間收集和報告的任何可選指標。 在這種情況下,我們將使用對數損失,對于二元分類問題,在 Keras 中定義為“ **binary_crossentropy** ”。我們還將使用有效的梯度下降算法“ **adam** ”,因為它是一個有效的默認值。在“ [Adam:隨機優化方法](http://arxiv.org/abs/1412.6980)”一文中了解有關 Adam 優化算法的更多信息。 最后,因為它是一個分類問題,我們將收集并報告分類準確度作為指標。 ```py # Compile model model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) ``` ## 4.適合模型 我們已經定義了我們的模型并將其編譯為高效計算。 現在是時候在一些數據上執行模型了。 我們可以通過調用模型上的 **fit()**函數來訓練或擬合我們的加載數據模型。 訓練過程將通過名為 epochs 的數據集進行固定次數的迭代,我們必須使用 **nepochs** 參數指定。我們還可以設置在執行網絡中的權重更新之前評估的實例數,稱為批量大小并使用 **batch_size** 參數進行設置。 對于這個問題,我們將運行少量迭代(150)并使用相對較小的批量大小 10.再次,這些可以通過試驗和錯誤通過實驗選擇。 ```py # Fit the model model.fit(X, Y, epochs=150, batch_size=10) ``` 這是工作在 CPU 或 GPU 上發生的地方。 此示例不需要 GPU,但如果您對如何在云中廉價地在 GPU 硬件上運行大型模型感興趣,請參閱此帖子: * [如何使用亞馬遜網絡服務上的 Keras 開發和評估大型深度學習模型](https://machinelearningmastery.com/develop-evaluate-large-deep-learning-models-keras-amazon-web-services/) ## 5.評估模型 我們已經在整個數據集上訓練了神經網絡,我們可以在同一數據集上評估網絡的表現。 這只會讓我們了解我們對數據集建模的程度(例如訓練精度),但不知道算法在新數據上的表現如何。我們這樣做是為了簡化,但理想情況下,您可以將數據分成訓練和測試數據集,以便對模型進行訓練和評估。 您可以使用模型上的 **evaluate()**函數在訓練數據集上評估模型,并將其傳遞給用于訓練模型的相同輸入和輸出。 這將為每個輸入和輸出對生成預測并收集分數,包括平均損失和您配置的任何指標,例如準確性。 ```py # evaluate the model scores = model.evaluate(X, Y) print("\n%s: %.2f%%" % (model.metrics_names[1], scores[1]*100)) ``` ## 6.將它們結合在一起 您剛剛看到了如何在 Keras 中輕松創建第一個神經網絡模型。 讓我們將它們組合成一個完整的代碼示例。 ```py # Create your first MLP in Keras from keras.models import Sequential from keras.layers import Dense import numpy # fix random seed for reproducibility numpy.random.seed(7) # load pima indians dataset dataset = numpy.loadtxt("pima-indians-diabetes.csv", delimiter=",") # split into input (X) and output (Y) variables X = dataset[:,0:8] Y = dataset[:,8] # create model model = Sequential() model.add(Dense(12, input_dim=8, activation='relu')) model.add(Dense(8, activation='relu')) model.add(Dense(1, activation='sigmoid')) # Compile model model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) # Fit the model model.fit(X, Y, epochs=150, batch_size=10) # evaluate the model scores = model.evaluate(X, Y) print("\n%s: %.2f%%" % (model.metrics_names[1], scores[1]*100)) ``` 運行此示例,您應該看到 150 個迭代中的每個迭代記錄每個歷史記錄的丟失和準確性的消息,然后對訓練數據集上的訓練模型進行最終評估。 在帶有 Theano 后端的 CPU 上運行的工作站上執行大約需要 10 秒鐘。 ```py ... Epoch 145/150 768/768 [==============================] - 0s - loss: 0.5105 - acc: 0.7396 Epoch 146/150 768/768 [==============================] - 0s - loss: 0.4900 - acc: 0.7591 Epoch 147/150 768/768 [==============================] - 0s - loss: 0.4939 - acc: 0.7565 Epoch 148/150 768/768 [==============================] - 0s - loss: 0.4766 - acc: 0.7773 Epoch 149/150 768/768 [==============================] - 0s - loss: 0.4883 - acc: 0.7591 Epoch 150/150 768/768 [==============================] - 0s - loss: 0.4827 - acc: 0.7656 32/768 [>.............................] - ETA: 0s acc: 78.26% ``` **注意**:如果您嘗試在 IPython 或 Jupyter 筆記本中運行此示例,則可能會出錯。原因是訓練期間的輸出進度條。您可以通過在 **model.fit()**的調用中設置 **verbose = 0** 來輕松關閉它們。 請注意,您的模型的技能可能會有所不同。 神經網絡是一種隨機算法,意味著相同數據上的相同算法可以訓練具有不同技能的不同模型。這是一個功能,而不是一個 bug。您可以在帖子中了解更多相關信息: * [在機器學習中擁抱隨機性](https://machinelearningmastery.com/randomness-in-machine-learning/) 我們確實嘗試修復隨機種子以確保您和我獲得相同的模型,因此得到相同的結果,但這并不總是適用于所有系統。我在這里寫了更多關于使用 Keras 模型再現結果的[問題](https://machinelearningmastery.com/reproducible-results-neural-networks-keras/)。 ## 7.獎金:做出預測 我被問到的頭號問題是: > 在訓練我的模型后,如何使用它來預測新數據? 好問題。 我們可以調整上面的示例并使用它來生成訓練數據集的預測,假裝它是我們以前從未見過的新數據集。 進行預測就像調用 **model.predict()**一樣簡單。我們在輸出層使用 sigmoid 激活函數,因此預測將在 0 到 1 之間的范圍內。我們可以通過舍入它們輕松地將它們轉換為這個分類任務的清晰二元預測。 下面列出了為訓練數據中的每條記錄進行預測的完整示例。 ```py # Create first network with Keras from keras.models import Sequential from keras.layers import Dense import numpy # fix random seed for reproducibility seed = 7 numpy.random.seed(seed) # load pima indians dataset dataset = numpy.loadtxt("pima-indians-diabetes.csv", delimiter=",") # split into input (X) and output (Y) variables X = dataset[:,0:8] Y = dataset[:,8] # create model model = Sequential() model.add(Dense(12, input_dim=8, init='uniform', activation='relu')) model.add(Dense(8, init='uniform', activation='relu')) model.add(Dense(1, init='uniform', activation='sigmoid')) # Compile model model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) # Fit the model model.fit(X, Y, epochs=150, batch_size=10, verbose=2) # calculate predictions predictions = model.predict(X) # round predictions rounded = [round(x[0]) for x in predictions] print(rounded) ``` 現在運行此修改示例將打印每個輸入模式的預測。如果需要,我們可以直接在我們的應用程序中使用這些預測 ```py [1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 1.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 1.0, 1.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 1.0, 1.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 1.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0] ``` 如果您對使用經過訓練的模型進行預測有更多疑問,請參閱此帖子: * [如何用 Keras 進行預測](https://machinelearningmastery.com/how-to-make-classification-and-regression-predictions-for-deep-learning-models-in-keras/) ## 摘要 在這篇文章中,您發現了如何使用功能強大的 Keras Python 庫創建第一個神經網絡模型以進行深度學習。 具體來說,您學習了使用 Keras 創建神經網絡或深度學習模型的五個關鍵步驟,包括: 1. 如何加載數據。 2. 如何在 Keras 中定義神經網絡。 3. 如何使用高效的數字后端編譯 Keras 模型。 4. 如何訓練數據模型。 5. 如何評估數據模型。 您對 Keras 或本教程有任何疑問嗎? 在評論中提出您的問題,我會盡力回答。 ### 相關教程 您是否正在尋找使用 Python 和 Keras 的更多深度學習教程? 看看其中一些: * [Keras 神經網絡模型的 5 步生命周期](http://machinelearningmastery.com/5-step-life-cycle-neural-network-models-keras/) * [如何使用 Keras 網格搜索 Python 中的深度學習模型的超參數](http://machinelearningmastery.com/grid-search-hyperparameters-deep-learning-models-python-keras/) * [Keras 中深度學習的時間序列預測](http://machinelearningmastery.com/time-series-prediction-with-deep-learning-in-python-with-keras/) * [Keras 深度學習庫的多類分類教程](http://machinelearningmastery.com/multi-class-classification-tutorial-keras-deep-learning-library/) * [使用 Python 中的 Keras 深度學習庫進行回歸教程](http://machinelearningmastery.com/regression-tutorial-keras-deep-learning-library-python/)
                  <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>

                              哎呀哎呀视频在线观看