เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การสร้างโมเดล CNN

การสร้างโมเดล CNN ใน Keras ไม่ได้ยากกว่าการสร้างโมเดลอื่น ๆ ที่ผ่านมาในคอร์สนี้เลย เพียงแค่นำ convolutional layer มาใช้เพิ่มเติมเท่านั้น

ในแบบฝึกหัดนี้ จะสร้างโมเดล convolutional แบบ shallow สำหรับจำแนกชุดข้อมูลตัวเลข MNIST ซึ่งเป็นชุดเดียวกับที่ใช้ลด noise ด้วย autoencoder ก่อนหน้า รูปภาพมีขนาด 28 x 28 พิกเซล และมีเพียง 1 channel เนื่องจากเป็นภาพขาวดำ

มาสร้างโมเดล convolutional ขนาดเล็กนี้กันเลย!

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Deep Learning เบื้องต้นด้วย Keras

ดูคอร์ส

คำแนะนำการฝึกหัด

  • Import เลเยอร์ Conv2D และ Flatten จากนั้น instantiate โมเดล
  • เพิ่ม convolutional layer แรกที่มี 32 filter ขนาด 3x3 และกำหนด input_shape เป็น tuple 3 มิติที่เหมาะสม
  • เพิ่ม convolutional layer ที่สองที่มี 16 filter ขนาด 3x3 พร้อม activation แบบ relu
  • Flatten ผลลัพธ์จากเลเยอร์ก่อนหน้าให้เป็นเวกเตอร์หนึ่งมิติ

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Import the Conv2D and Flatten layers and instantiate model
from tensorflow.keras.____ import ____,____
model = ____

# Add a convolutional layer of 32 filters of size 3x3
model.add(Conv2D(____, kernel_size = ____, input_shape = (____, ____, 1), activation = 'relu'))

# Add a convolutional layer of 16 filters of size 3x3
model.add(____(____, ____ = ____, activation = ____))

# Flatten the previous layer output
model.add(____)

# Add as many outputs as classes with softmax activation
model.add(Dense(10, activation = 'softmax'))
แก้ไขและรันโค้ด