如何使用 TensorFlow 和 keras.Model 來追蹤使用順序模型定義的變數?


Tensorflow 可以用來建立一個透過建立順序模型並使用該模型呼叫“tf.zeros”方法來追蹤內部層的模型。

閱讀更多: 什麼是 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 tracks internal layers")
my_seq = tf.keras.Sequential([tf.keras.layers.Conv2D(1, (1, 1), input_shape=(None, None, 3)),
   tf.keras.layers.BatchNormalization(),
   tf.keras.layers.Conv2D(2, 1, padding='same'),
   tf.keras.layers.BatchNormalization(),
   tf.keras.layers.Conv2D(3, (1, 1)),
   tf.keras.layers.BatchNormalization()])
my_seq(tf.zeros([1, 2, 3, 3]))
print("The architecture of the model is")
my_seq.summary()

程式碼來源 −https://www.tensorflow.org/tutorials/customization/custom_layers

輸出

It tracks internal layers
The architecture of the model is
Model: "sequential_4"
_________________________________________________________________
Layer (type)           Output Shape               Param #
=================================================================
conv2d_3 (Conv2D) (None, None, None, 1)             4
_________________________________________________________________
batch_normalization_3 (Batch (None, None, None, 1)  4
_________________________________________________________________
conv2d_4 (Conv2D)  (None, None, None, 2)            4
_________________________________________________________________
batch_normalization_4 (Batch (None, None, None, 2)  8
_________________________________________________________________
conv2d_5 (Conv2D) (None, None, None, 3)             9
_________________________________________________________________
batch_normalization_5 (Batch (None, None, None, 3) 12
=================================================================
Total params: 41
Trainable params: 29
Non-trainable params: 12
_________________________________________________________________

解釋

  • 很多時候,具有許多層的模型通常會一層一層地呼叫。

  • 這是使用 tf.keras.Sequential 完成的。

更新於: 2021年2月25日

134 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

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