สร้างโมเดล Sequential (ลำดับชั้น) ด้วย Keras Sequential API ใช้สำหรับโมเดลที่เป็น stack ของ layers แบบตรงไปตรงมา
โค้ดตัวอย่าง
print("กำลังสร้าง Sequential model...")
num_classes = 5
model = Sequential([
layers.experimental.preprocessing.Rescaling(1./255, input_shape=(img_height, img_width, 3)),
layers.Conv2D(16, 3, padding='same', activation='relu'),
layers.MaxPooling2D(),
layers.Conv2D(32, 3, padding='same', activation='relu'),
layers.MaxPooling2D(),
layers.Conv2D(64, 3, padding='same', activation='relu'),
layers.MaxPooling2D(),
layers.Flatten(),
layers.Dense(128, activation='relu'),
layers.Dense(num_classes)
])
คำอธิบายโครงสร้าง
- Rescaling(1./255): ปรับค่า pixel 0-255 เป็น 0-1 (normalization)
- Conv2D + MaxPooling2D: 3 บล็อก Convolutional block (Feature extraction)
- Flatten(): ราบแบน 3D tensor เป็น 1D vector
- Dense(128, relu): Fully connected layer 128 units
- Dense(num_classes): Output layer 5 units (ไม่มี activation เพราะ from_logits=True)
จุดสำคัญ
- Sequential API เหมาะกับโมเดลที่เป็น linear stack (แต่ละ layer มี 1 input, 1 output)
- Functional API ใช้สำหรับโมเดลซับซ้อน (multiple inputs/outputs, shared layers)
- โมเดลนี้ยังไม่ได้ tune ให้ accuracy สูงสุด (baseline model)
- รันบน Google Colab ที่มี GPU ฟรี