Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีโหลดและใช้งาน Flower Dataset ด้วย TensorFlow

บทนำ

Flower dataset (TensorFlow datasets) มีรูปดอกไม้หลายพันรูป 5 คลาส (daisy, dandelion, roses, sunflowers, tulips) โครงสร้างโฟลเดอร์ต่อคลาส

โค้ดตัวอย่าง

print("Loading parameters for the loader")
batch_size = 32
img_height = 180
img_width = 180

print("Preprocessing the image dataset using Keras")
print("Splitting dataset into training and validation set")
train_ds = tf.keras.preprocessing.image_dataset_from_directory(
    data_dir,
    validation_split=0.2,
    subset="training",
    seed=123,
    image_size=(img_height, img_width),
    batch_size=batch_size)

print("Splitting dataset into training and validation set")
val_ds = tf.keras.preprocessing.image_dataset_from_directory(
    data_dir,
    validation_split=0.2,
    subset="validation",
    seed=123,
    image_size=(img_height, img_width),
    batch_size=batch_size)

print("Printing the class names present in sub-directories")
class_names = train_ds.class_names
print(class_names)

ผลลัพธ์

Loading parameters for the loader
Preprocessing the image dataset using Keras
Splitting dataset into training and validation set
Found 3670 files belonging to 5 classes. Using 2936 files for training.
Splitting dataset into training and validation set
Found 3670 files belonging to 5 classes. Using 734 files for validation.
Printing the class names present in sub-directories
['daisy', 'dandelion', 'roses', 'sunflowers', 'tulips']

คำอธิบาย

  • image_dataset_from_directory: โหลดรูปจากโฟลเดอร์ย่อย (แต่ละโฟลเดอร์ = 1 คลาส) อัตโนมัติ
  • validation_split=0.2: แยก 20% เป็น validation (seed=123 ให้ reproducible)
  • image_size: resize ทุกภาพให้เท่ากัน (180×180)
  • batch_size=32: จัดเป็น batch 32 รูป
  • คืนค่า tf.data.Dataset ที่ yield (images, labels) batches

ข้อดี

- ไม่ต้องเขียนโค้ดโหลดเอง
- รองรับ shuffle, prefetch, cache ผ่าน tf.data
- แยก train/val อัตโนมัติ