如何使用Python和預訓練模型提取TensorFlow中的特徵?


可以使用特徵提取器模型(預先定義並用於“KerasLayer”方法)來提取TensorFlow中預訓練模型的特徵。

閱讀更多: 什麼是TensorFlow以及Keras如何與TensorFlow一起建立神經網路?

包含至少一層卷積層的神經網路被稱為卷積神經網路。我們可以使用卷積神經網路來構建學習模型。

影像分類遷移學習背後的直覺是,如果一個模型在一個大型通用資料集上進行訓練,那麼這個模型可以有效地作為一個通用的視覺世界模型。它已經學習了特徵圖,這意味著使用者不必從頭開始在一個大型資料集上訓練一個大型模型。

TensorFlow Hub是一個包含預訓練TensorFlow模型的儲存庫。TensorFlow可用於微調學習模型。

我們將瞭解如何使用來自TensorFlow Hub的模型與tf.keras,使用來自TensorFlow Hub的影像分類模型。完成後,可以執行遷移學習來微調自定義影像類別的模型。這是透過使用預訓練的分類器模型來獲取影像並預測它是哪個影像來完成的。這可以在無需任何訓練的情況下完成。

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

示例

print("Extracting features")
feature_extractor_model = "https://tfhub.dev/google/tf2-preview/mobilenet_v2/feature_vector/4"
feature_extractor_layer = hub.KerasLayer(
feature_extractor_model, input_shape=(224, 224, 3), trainable=False)
feature_batch = feature_extractor_layer(image_batch)
print(feature_batch.shape)

程式碼來源 −https://www.tensorflow.org/tutorials/images/transfer_learning_with_hub

輸出

Extracting features
(32, 1280)

解釋

  • 特徵已被提取。
  • 使用“feature_extractor_layer”獲取資料集的特徵。
  • 特徵的維度顯示在控制檯上。

更新於: 2021年2月25日

799 次瀏覽

啟動您的職業生涯

完成課程獲得認證

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