如何使用 Python 程式和 Keras 訓練模型?


Keras 是作為 ONEIROS 專案(開放式神經電子智慧機器人作業系統)研究的一部分開發的。Keras 是一個用 Python 編寫的深度學習 API。它是一個高階 API,具有高效的介面,有助於解決機器學習問題。它執行在 TensorFlow 框架之上。它的構建是為了幫助快速進行實驗。它提供了開發和封裝機器學習解決方案所需的必要抽象和構建塊。

它具有高度的可擴充套件性並具有跨平臺能力。這意味著 Keras 可以在 TPU 或 GPU 叢集上執行。Keras 模型也可以匯出到 Web 瀏覽器或行動電話上執行。

Keras 已經存在於 TensorFlow 包中。可以使用以下程式碼行訪問它。

import tensorflow
from tensorflow import keras

Keras 函式式 API 有助於建立比使用順序 API 建立的模型更靈活的模型。函式式 API 可以處理具有非線性拓撲的模型,可以共享層並處理多個輸入和輸出。深度學習模型通常是有向無環圖 (DAG),包含多個層。函式式 API 有助於構建層圖。

我們使用 Google Colaboratory 來執行以下程式碼。Google Colab 或 Colaboratory 有助於在瀏覽器上執行 Python 程式碼,無需任何配置即可免費訪問 GPU(圖形處理單元)。Colaboratory 是建立在 Jupyter Notebook 之上的。以下是訓練模型的程式碼片段:

示例

print("The model is being plotted")
keras.utils.plot_model(model, "my_resnet.png", show_shapes=True)
print("Split the data into training and test data")
(x_train, y_train), (x_test, y_test) = keras.datasets.cifar10.load_data()
print("Convert the type of data to float")
x_train = x_train.astype("float32") / 255.0
x_test = x_test.astype("float32") / 255.0
y_train = keras.utils.to_categorical(y_train, 10)
y_test = keras.utils.to_categorical(y_test, 10)
print("Compiling the model")
model.compile(
   optimizer=keras.optimizers.RMSprop(1e-3),
   loss=keras.losses.CategoricalCrossentropy(from_logits=True),
   metrics=["acc"],
)
model.fit(x_train[:2000], y_train[:2000], batch_size=64, epochs=2, validation_split=0.2)

程式碼來源:https://www.tensorflow.org/guide/keras/functional

輸出

The model is being plotted
Split the data into training and test data
Downloading data from https://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz
170500096/170498071 [==============================] - 2s 0us/step
Convert the type of data to float
Compiling the model
Epoch 1/2
25/25 [==============================] - 9s 332ms/step - loss: 2.3163 - acc: 0.1028 -
val_loss: 2.2962 - val_acc: 0.1175
Epoch 2/2
25/25 [==============================] - 12s 492ms/step - loss: 2.3155 - acc: 0.1175 -
val_loss: 2.2606 - val_acc: 0.1200
<tensorflow.python.keras.callbacks.History at 0x7f48d3ecfb00>

解釋

  • 輸入資料被分成訓練資料集和測試資料集。

  • 資料型別轉換為“float”型別。

  • 使用“compile”方法編譯模型。

  • 使用“fit”方法將模型擬合到訓練資料。

更新於:2021年1月18日

88 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.