如何使用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() 會在訓練期間重疊資料預處理和模型執行。
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP