如何使用 Python 中的 Keras 從模型的單個層提取特徵?
Tensorflow 是 Google 提供的一個機器學習框架。它是一個開源框架,與 Python 結合使用以實現演算法、深度學習應用程式等等。它用於研究和生產目的。它具有最佳化技術,有助於快速執行復雜的數學運算。這是因為它使用 NumPy 和多維陣列。這些多維陣列也稱為“張量”。該框架支援使用深度神經網路。
可以使用以下程式碼行在 Windows 上安裝“TensorFlow”包:
pip install tensorflow
張量是 TensorFlow 中使用的資料結構。它有助於連線流圖中的邊。此流圖稱為“資料流圖”。張量只不過是多維陣列或列表。
Keras 在希臘語中意為“角”。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 之上的。以下是程式碼片段:
示例
print("Feature extraction from one layer only")
initial_model = keras.Sequential(
[
keras.Input(shape=(250, 250, 3)),
layers.Conv2D(32, 5, strides=2, activation="relu"),
layers.Conv2D(32, 3, activation="relu", name="my_intermediate_layer"),
layers.Conv2D(32, 3, activation="relu"),
]
)
print("Feature extraction from the model")
feature_extractor = keras.Model(
inputs=initial_model.inputs,
outputs=initial_model.get_layer(name="my_intermediate_layer").output,
)
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
輸出
Feature extraction form one layer only Feature extraction form the model The feature extractor method is called on test data
解釋
模型架構準備就緒後,對其進行訓練。
訓練完成後,對其進行評估。
將此模型儲存到磁碟。
可以在需要時恢復此模型。
可以使用多個 GPU 來加速模型的訓練。
構建模型後,它的行為類似於函式式 API 模型。
這表示每一層都有輸入和輸出。
在這裡,顯式地從單個層提取特徵。
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP