如何使用Tensorflow和預訓練模型重新縮放畫素值?


可以使用Tensorflow和預訓練模型,透過'Rescaling'層和'tf.keras.applications.mobilenet_v2'包中的'preprocess_input'方法來重新縮放畫素值。

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

我們將瞭解如何藉助從預訓練網路進行遷移學習來對貓和狗的影像進行分類。

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

閱讀更多: 如何預訓練自定義模型?

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

示例

print("Pixel values are being rescaled")
preprocess_input = tf.keras.applications.mobilenet_v2.preprocess_input
rescale = tf.keras.layers.experimental.preprocessing.Rescaling(1./127.5, offset= -1)

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

輸出

Pixel values are being rescaled

解釋

  • 將使用tf.keras.applications.MobileNetV2作為基礎模型。
  • 此模型期望畫素值在[-1,1]範圍內。
  • 但影像中的畫素值範圍為[0-255]。
  • 可以重新縮放它們,然後可以使用模型中包含的預處理。

更新於: 2021年2月25日

152 次瀏覽

開啟你的職業生涯

完成課程獲得認證

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