4.2 自己的圖片資料集
使用 image_dataset_from_directory 載入資料夾圖片,建立可替換成自己圖片資料的 CNN 分類流程。這篇承接 4.1 的 CNN 概念,把資料來源從內建資料集改成實務中最常見的圖片資料夾。
1. 學習目標
很多實務影像分類任務的資料都整理成資料夾,例如 cats/、dogs/,或 good/、defect/。這篇示範如何用資料夾結構直接建立 TensorFlow dataset。
2. 資料夾格式
image_dataset_from_directory 預期資料夾長這樣:
dataset/
├── class_a/
│ ├── image_001.jpg
│ └── image_002.jpg
└── class_b/
├── image_001.jpg
└── image_002.jpg
每個子資料夾名稱就是類別名稱。
3. 實作重點
本篇使用 TensorFlow 官方 flower_photos 作為範例資料。這份資料包含多種花卉類別,適合示範多類別圖片資料夾如何被轉成 train/validation dataset。讀者只要把 data_dir 換成自己的資料夾路徑,就能沿用同一套流程。
4. 如何套用自己的資料?
- 將圖片依類別放進不同資料夾。
- 修改
data_dir。 - 確認
img_size與batch_size。 - 最後一層輸出神經元數量等於類別數。
- 先檢查
class_names與抽樣圖片,確認資料夾名稱、label 與圖片內容一致。
5. 小結
這篇是影像 cookbook 最重要的模板之一,因為它直接對應實務中最常見的圖片資料整理方式。