在 Python 中使用 Tensorflow 時,何時應該使用順序模型?請舉例說明。


當存在一個簡單的層堆疊時,順序模型是相關的。在這個堆疊中,每一層都只有一個輸入張量和一個輸出張量。當模型有多個輸入或多個輸出時,它不適用。當需要共享層時,它不適用。當層有多個輸入或多個輸出時,它不適用。當需要非線性架構時,它不適用。

Tensorflow 是 Google 提供的一個機器學習框架。它是一個開源框架,與 Python 結合使用以實現演算法、深度學習應用程式等等。它用於研究和生產目的。它具有最佳化技術,有助於快速執行復雜的數學運算。這是因為它使用 NumPy 和多維陣列。這些多維陣列也稱為“張量”。

Keras 是作為 ONEIROS(開放式神經電子智慧機器人作業系統)專案研究的一部分開發的。Keras 是一個深度學習 API,用 Python 編寫。它是一個高階 API,具有高效的介面,有助於解決機器學習問題。它執行在 Tensorflow 框架之上。它旨在幫助快速進行實驗。它具有高度的可擴充套件性,並具有跨平臺功能。這意味著 Keras 可以執行在 TPU 或 GPU 叢集上。Keras 模型也可以匯出到 Web 瀏覽器或手機上執行。

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

import tensorflow
from tensorflow import keras

我們正在使用 Google Colaboratory 來執行以下程式碼。Google Colab 或 Colaboratory 幫助在瀏覽器上執行 Python 程式碼,無需任何配置即可免費訪問 GPU(圖形處理單元)。Colaboratory 建立在 Jupyter Notebook 之上。

讓我們看一個使用 Tensorflow(包括 Keras)定義順序模型的示例:

示例

import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers
print("A sequential model is being defined, that has three layers")
model = keras.Sequential(
   [
      layers.Dense(2, activation="relu", name="layer_1"),
      layers.Dense(3, activation="relu", name="layer_2"),
      layers.Dense(4, name="layer_3"),
   ]
)
print("The model is being called on test data")
x = tf.ones((2, 2))
y = model(x)

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

輸出

A sequenital model is being defined, that has three layers
The model is being called on test data
The layers are
[<tensorflow.python.keras.layers.core.Dense object at 0x7fe921aaf7b8>, <tensorflow.python.keras.layers.core.Dense object at 0x7fe921a6d898>, <tensorflow.python.keras.layers.core.Dense object at 0x7fe921a6dc18>]

解釋

  • 匯入併為所需的包設定別名。

  • 使用 Keras 中的“sequential”方法建立一個順序模型。

  • 在測試資料上呼叫此模型。

  • 模型各層的詳細資訊顯示在控制檯上。

更新於: 2021年1月21日

225 次檢視

啟動你的 職業生涯

透過完成課程獲得認證

開始
廣告

© . All rights reserved.