如何使用Python中的TensorFlow將資料擬合到模型?


可以使用‘fit’方法將資料擬合到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("Training for 2 epochs only")
class CollectBatchStats(tf.keras.callbacks.Callback):
   def __init__(self):
      self.batch_losses = []
      self.batch_acc = []
   def on_train_batch_end(self, batch, logs=None):
      self.batch_losses.append(logs['loss'])
      self.batch_acc.append(logs['acc'])
      self.model.reset_metrics()
batch_stats_callback = CollectBatchStats()
print("The fit method is called")
history = model.fit(train_ds, epochs=2,
callbacks=[batch_stats_callback])

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

輸出

Training for 2 epochs only
The fit method is called
Epoch 1/2
92/92 [==============================] - 88s 919ms/step - loss: 0.7155 - acc: 0.7460
Epoch 2/2
92/92 [==============================] - 85s 922ms/step - loss: 0.3694 - acc: 0.8754

解釋

  • .fit方法用於訓練模型。

  • 訓練時間很短,因此僅使用2個epoch進行訓練。

  • 使用自定義回撥來視覺化資料,以便分別記錄每個批次的損失和準確率。

更新於:2021年2月25日

瀏覽量155次

啟動你的職業生涯

透過完成課程獲得認證

開始學習
廣告