Keras - chanandrew96/MyLearning GitHub Wiki

Data Loading & Preprocessing

神經網絡(Neural Network)不會直接處理如Text Files, encoded JPEG files, CSV檔案等
所有數據都需要經過預處理(Preprocessing)完成向量化(Vectorized)和標準化(Standardized)

Data Loading

Keras接受三種輸入:

  • NumPy arrays
  • TensorFlow Dataset objects
  • Python generators

如果需要用上大量的數據及使用GPU訓練,建議使用TensorFlow Dataset objects (已作效能增益及處理/take care of performance-critical details)

  • 當GPU忙碌時會在CPU異步預處理數據及使用Queue緩衝 (Buffering into queue)
  • 在GPU預取數據以便GPU在處理完上一個Batch後直接處理新的Batch,以此可以使用GPU的全部性能

Data Preprocessing

Keras提供用於預處理Raw Data的功能

Utils Raw Data Source
tf.keras.utils.image_dataset_from_directory Images Keras
tf.keras.utils.text_dataset_from_directory Text Keras
tf.data.experimental.make_csv_dataset CSV TensorFlow

Reference