如何使用 Python 和 Keras 訓練模型?
TensorFlow 是 Google 提供的一個機器學習框架。它是一個開源框架,與 Python 結合使用,可以實現演算法、深度學習應用程式等等。它用於研究和生產目的。它具有最佳化技術,有助於快速執行復雜的數學運算。
可以使用以下程式碼行在 Windows 上安裝 'tensorflow' 包:
pip install tensorflow
張量是 TensorFlow 中使用的一種資料結構。它有助於連線資料流圖中的邊。此資料流圖稱為“資料流圖”。張量只不過是多維陣列或列表。
Keras 是作為 ONEIROS(開放式神經電子智慧機器人作業系統)專案研究的一部分開發的。Keras 是一個用 Python 編寫的深度學習 API。它是一個高階 API,具有高效的介面,有助於解決機器學習問題。它執行在 TensorFlow 框架之上。它旨在幫助快速進行實驗。它提供開發和封裝機器學習解決方案所必需的基本抽象和構建塊。
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("Sample input data")
title_data = np.random.randint(num_words, size=(1280, 10))
body_data = np.random.randint(num_words, size=(1280, 100))
tags_data = np.random.randint(2, size=(1280, num_tags)).astype("float32")
print("Sample target data")
priority_targets = np.random.random(size=(1280, 1))
dept_targets = np.random.randint(2, size=(1280, num_classes))
print("The model is being fit to the data")
model.fit(
{"title": title_data, "body": body_data, "tags": tags_data},
{"priority": priority_targets, "class": dept_targets},
epochs=2,
batch_size=32,
)程式碼來源:https://www.tensorflow.org/guide/keras/functional
輸出
Sample input data Sample target data The model is being fit to the data Epoch 1/2 40/40 [==============================] - 5s 43ms/step - loss: 1.2738 - priority_loss: 0.7043 - class_loss: 2.8477 Epoch 2/2 40/40 [==============================] - 2s 44ms/step - loss: 1.2720 - priority_loss: 0.6997 - class_loss: 2.8612 <tensorflow.python.keras.callbacks.History at 0x7f48d0809e80>
解釋
生成示例輸入和目標資料。
透過傳遞輸入和目標的 NumPy 陣列來訓練模型。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP