สร้างโมเดลจดจำตัวเลขด้วยตัวเอง
มาถึงแบบฝึกหัดสุดท้ายของคอร์สแล้ว ตอนนี้มีความรู้ครบพร้อมสำหรับการสร้างโมเดลที่แม่นยำในการจดจำตัวเลขที่เขียนด้วยลายมือ!
เราได้จัดเตรียมข้อมูล MNIST ตามที่แสดงในวิดีโอไว้ให้แล้ว โดยมี X และ y โหลดพร้อมใช้งานได้เลย นอกจากนี้ยังมีการ import Sequential และ Dense จาก tensorflow.keras ไว้ให้แล้วเช่นกัน
เพื่อเพิ่มความท้าทาย เราโหลดเพียง 2,500 รูปภาพ แทนที่จะเป็น 60,000 รูปตามที่เห็นในงานวิจัยบางชิ้น โมเดล deep learning จะทำงานได้ดีขึ้นเมื่อมีข้อมูลมากกว่า แต่ก็ใช้เวลาในการเทรนนานขึ้นด้วย โดยเฉพาะเมื่อโมเดลมีความซับซ้อนมากขึ้น
หากมีคอมพิวเตอร์ที่มี GPU รองรับ CUDA สามารถใช้ประโยชน์จากมันเพื่อเพิ่มความเร็วในการคำนวณได้ ไม่มี GPU ก็ไม่เป็นไร! สามารถตั้งค่า deep learning environment บนคลาวด์เพื่อรันโมเดลบน GPU ได้ อ่านรายละเอียดได้ที่ blog post ของ Dan ที่อธิบายวิธีการทำทั้งหมด — แนะนำให้ลองอ่านหลังจบแบบฝึกหัดนี้!
พร้อมพัฒนาทักษะ deep learning ให้ก้าวหน้ายิ่งขึ้นแล้วหรือยัง? ลองดู Advanced Deep Learning with Keras เพื่อเรียนรู้วิธีใช้ Keras functional API ในการแก้ปัญหาประเภทใหม่ และเมื่อใช้ functional API ได้แล้ว ลองต่อด้วย Image Processing with Keras in Python เพื่อเรียนรู้การประยุกต์ใช้ Keras กับงานด้านรูปภาพโดยเฉพาะ
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Introduction to Deep Learning in Python
คำแนะนำการฝึกหัด
- สร้างออบเจกต์
Sequentialเพื่อเริ่มต้นโมเดล แล้วตั้งชื่อว่าmodel - เพิ่ม
Densehidden layer แรกที่มี50units ลงในโมเดล โดยใช้ฟังก์ชัน activation เป็น'relu'สำหรับข้อมูลนี้input_shapeคือ(784,) - เพิ่ม
Densehidden layer ที่สองที่มี50units และใช้ฟังก์ชัน activation เป็น'relu' - เพิ่ม output layer โดยใช้ฟังก์ชัน activation เป็น
'softmax'และจำนวน nodes ในชั้นนี้ควรเท่ากับจำนวน output ที่เป็นไปได้ทั้งหมด ซึ่งในกรณีนี้คือ10 - คอมไพล์
modelเหมือนกับที่ทำกับโมเดลก่อนหน้า โดยใช้'adam'เป็นoptimizer,'categorical_crossentropy'สำหรับ loss และmetrics=['accuracy'] - ฟิตโมเดลโดยใช้
Xและyพร้อมกำหนดvalidation_splitเป็น0.3และจำนวน epochs เป็น10
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Create the model: model
model = ____
# Add the first hidden layer
____
# Add the second hidden layer
____
# Add the output layer
____
# Compile the model
____
# Fit the model
____