如何使用 TensorFlow 和 TF Hub 進行遷移學習,下載 ImageNet 分類器?


TensorFlow 可以使用 TF Hub 進行遷移學習,以便使用“Sequential”模型下載 ImageNet 分類器。分類器模型使用 Google URL 指定。此模型被指定為“KerasLayer”方法的引數。

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

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

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

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

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

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

示例

import numpy as np
import time
import PIL.Image as Image
import matplotlib.pylab as plt
import tensorflow as tf
import tensorflow_hub as hub
classifier_model ="https://tfhub.dev/google/tf2-preview/mobilenet_v2/classification/4"IMAGE_SHAPE = (224, 224)
print("Creating a sequential layer")
classifier = tf.keras.Sequential([
   hub.KerasLayer(classifier_model, input_shape=IMAGE_SHAPE+(3,))
])

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

輸出

Creating a sequential layer

解釋

  • 匯入所需的包。
  • 建立一個順序層。

更新於: 2021年2月25日

154 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.