如何使用Python中的順序模型進行Keras特徵提取?


TensorFlow是Google提供的機器學習框架。它是一個開源框架,與Python結合使用,可以實現演算法、深度學習應用程式等等。它用於研究和生產目的。它具有最佳化技術,有助於快速執行復雜的數學運算。

可以使用以下程式碼行在Windows上安裝“TensorFlow”包:

pip install tensorflow

張量是TensorFlow中使用的資料結構。它有助於連線流圖中的邊。此流圖稱為“資料流圖”。張量只不過是多維陣列或列表。它們可以使用三個主要屬性來標識:

  • - 它告訴張量的維度。可以理解為張量的階數或已定義張量的維度數。

  • 型別 - 它告訴張量元素關聯的資料型別。它可以是一維、二維或n維張量。

  • 形狀 - 它是行數和列數的總和。

Keras是作為ONEIROS(開放式神經電子智慧機器人作業系統)專案研究的一部分開發的。Keras是一個用Python編寫的深度學習API。它是一個高階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之上。以下是程式碼片段:

示例

print("Sequential model created")
initial_model = keras.Sequential(
   [
      keras.Input(shape=(250, 250, 3)),
      layers.Conv2D(32, 5, strides=2, activation="relu"),
      layers.Conv2D(32, 3, activation="relu"),
      layers.Conv2D(32, 3, activation="relu"),
   ]
)
print("Feature extraction from the model")
feature_extractor = keras.Model(
   inputs=initial_model.inputs,
   outputs=[layer.output for layer in initial_model.layers],
)
print("The feature extractor method is called on test data")
x = tf.ones((1, 250, 250, 3))
features = feature_extractor(x)

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

輸出

Sequential modal created 
Feature extraction form the model 
The feature extractor method is called on test data


解釋

  • 模型架構準備就緒後,對其進行訓練。

  • 訓練完成後,對其進行評估。

  • 此模型儲存到磁碟。

  • 可以在需要時恢復它。

  • 可以使用多個GPU來加快模型的訓練速度。

  • 構建模型後,它的行為就像一個功能性API模型。

  • 這表明每一層都有輸入和輸出。

更新於:2021年1月18日

907 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.