如何使用Tensorflow配置資料集以提高效能?


花卉資料集可以透過緩衝預取、shuffle 方法和 cache 方法來配置以提高效能。緩衝預取可以用於確保資料可以從磁盤獲取,而不會導致 I/O 阻塞。Dataset.cache() 會在第一個 epoch 載入完磁碟上的影像後將其儲存在記憶體中。Dataset.prefetch() 會在訓練期間重疊資料預處理和模型執行。

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

使用 Keras Sequential API,它有助於構建一個順序模型,該模型用於處理簡單的層堆疊,其中每一層只有一個輸入張量和一個輸出張量。

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

print("Configuring the dataset for better performance")
AUTOTUNE = tf.data.AUTOTUNE
train_ds = train_ds.cache().shuffle(1000).prefetch(buffer_size=AUTOTUNE)
val_ds = val_ds.cache().prefetch(buffer_size=AUTOTUNE)

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

輸出

Configuring the dataset for better performance

解釋

  • 可以使用緩衝預取的概念,以便資料可以從磁盤獲取,而不會導致 I/O 阻塞。
  • 載入資料時可以使用兩種重要的方法。
    • cache() 會在第一個 epoch 載入完磁碟上的影像後將其儲存在記憶體中。
    • 這將確保在訓練模型時資料集不會成為瓶頸。
    • 如果資料集太大而無法放入記憶體,則可以使用此方法建立高效能的磁碟快取。
    • prefetch() 會在訓練期間重疊資料預處理和模型執行。

更新於: 2021年2月20日

826 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告