如何使用 Python 中的 TensorFlow 構建歸一化層?
Tensorflow 可以透過首先將類名轉換為 Numpy 陣列,然後使用 tf.keras.layers.experimental.preprocessing 包中的 'Rescaling' 方法建立歸一化層來構建歸一化層。
閱讀更多:什麼是 TensorFlow 以及 Keras 如何與 TensorFlow 協同工作以建立神經網路?
包含至少一層卷積層的神經網路稱為卷積神經網路。我們可以使用卷積神經網路構建學習模型。
影像分類遷移學習背後的直覺是,如果一個模型在大型通用資料集上進行訓練,則該模型可以有效地作為視覺世界的通用模型。它將學習特徵對映,這意味著使用者不必從頭開始在大型資料集上訓練大型模型。
TensorFlow Hub 是一個包含預訓練 TensorFlow 模型的儲存庫。TensorFlow 可用於微調學習模型。
我們將瞭解如何使用 TensorFlow Hub 中的模型與 tf.keras,使用 TensorFlow Hub 中的影像分類模型。完成後,可以執行遷移學習來微調模型以適應自定義影像類別。這是透過使用預訓練的分類器模型來獲取影像並預測其內容來完成的。這可以在無需任何訓練的情況下完成。
我們使用 Google Colaboratory 來執行以下程式碼。Google Colab 或 Colaboratory 幫助在瀏覽器上執行 Python 程式碼,並且無需任何配置,並且可以免費訪問 GPU(圖形處理單元)。Colaboratory 建立在 Jupyter Notebook 之上。
示例
print("It contains 5 classes")
class_names = np.array(train_ds.class_names)
print(class_names)
print("A normalization layer is built")
normalization_layer = tf.keras.layers.experimental.preprocessing.Rescaling(1./255)
train_ds = train_ds.map(lambda x, y: (normalization_layer(x), y))程式碼來源 −https://www.tensorflow.org/tutorials/images/transfer_learning_with_hub
輸出
It contains 5 classes ['daisy' 'dandelion' 'roses' 'sunflowers' 'tulips'] A normalization layer is built
解釋
TFHub 對模型影像的約定要求範圍為 [0, 1] 的浮點輸入。
可以使用 Rescaling 層來實現相同的效果。
可以使用緩衝預取,以便可以從磁盤獲取資料而不會阻塞 I/O。
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP