如何使用Tensorflow和預訓練模型來確定資料集中的批次數量?
Tensorflow 可以與預訓練模型一起使用,透過 `tf.data.experimental` 模組中的 `cardinality` 方法來確定資料集中的批次數量。
閱讀更多: 什麼是 TensorFlow 以及 Keras 如何與 TensorFlow 一起建立神經網路?
我們將瞭解如何藉助從預訓練網路進行的遷移學習來對貓和狗的影像進行分類。
影像分類遷移學習背後的直覺是,如果一個模型在一個大型且通用的資料集上進行訓練,那麼這個模型可以有效地用作視覺世界的通用模型。它將學習特徵圖,這意味著使用者無需從頭開始在大型資料集上訓練大型模型。
閱讀更多: 如何對自定義模型進行預訓練?
我們使用 Google Colaboratory 來執行以下程式碼。Google Colab 或 Colaboratory 幫助在瀏覽器上執行 Python 程式碼,無需任何配置,並且可以免費訪問 GPU(圖形處理單元)。Colaboratory 是建立在 Jupyter Notebook 之上的。
示例
print("Number of batches in the data is determined") val_batches = tf.data.experimental.cardinality(validation_dataset) test_dataset = validation_dataset.take(val_batches // 5) validation_dataset = validation_dataset.skip(val_batches // 5) print('Number of validation batches are: %d' % tf.data.experimental.cardinality(validation_dataset)) print('Number of test batches are: %d' % tf.data.experimental.cardinality(test_dataset)
程式碼來源 −https://www.tensorflow.org/tutorials/images/transfer_learning
輸出
Number of batches in the data is determined Number of validation batches are: 21 Number of test batches are: 5
解釋
- 原始資料集沒有測試集。
- 因此,它被建立了。
- 為此,確定了可用資料的批次數量。
- 完成此操作後,將 20% 的資料移動到測試資料集。
廣告