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 |