โครงงานการจำแนกประเภทภาพ
การสร้างแบบจำลอง CNN เบื้องต้น
โครงงานการจำแนกประเภทภาพ เป็นบทเรียน Python Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 5 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Python Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Python Academy มีบทเรียนทั้งหมด 5 บทเรียน
โครงการจำแนกภาพ
โครงการจำแนกภาพ
ในโครงการนี้ เราจะสร้าง CNN อย่างง่ายเพื่อจำแนกภาพออกเป็นหมวดหมู่ต่าง ๆ การจำแนกภาพเกี่ยวข้องกับการคาดการณ์หมวดหมู่หรือป้ายกำกับของภาพที่ป้อนเข้า

ชุดข้อมูลสำหรับการจำแนกประเภท
ชุดข้อมูลสำหรับการจำแนกประเภท
เราจะใช้ชุดข้อมูล CIFAR-10 ซึ่งประกอบด้วยภาพ 60,000 ภาพใน 10 หมวดหมู่ เช่น เครื่องบิน รถยนต์ นก และแมว แต่ละภาพมีขนาด 32×32 พิกเซลและมีช่องสี 3 ช่อง (RGB)
การโหลดชุดข้อมูล
การโหลดชุดข้อมูล
เราจะโหลดชุดข้อมูล CIFAR-10 โดยใช้ TensorFlow:
import tensorflow as tf
from tensorflow.keras.datasets import cifar10
# Load dataset
(x_train, y_train), (x_test, y_test) = cifar10.load_data()
# Normalize the pixel values to [0, 1]
x_train = x_train / 255.0
x_test = x_test / 255.0
print("Training data shape:", x_train.shape)การสร้างแบบจำลอง CNN
การสร้างแบบจำลอง CNN
เราจะกำหนดสถาปัตยกรรม CNN ที่ประกอบด้วยชั้นคอนโวลูชัน ชั้นพูล และชั้นที่เชื่อมต่อเต็มรูปแบบ:
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense
# Define the CNN model
model = Sequential([
Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32, 3)),
MaxPooling2D((2, 2)),
Conv2D(64, (3, 3), activation='relu'),
MaxPooling2D((2, 2)),
Flatten(),
Dense(128, activation='relu'),
Dense(10, activation='softmax')
])การคอมไพล์แบบจำลอง
การคอมไพล์แบบจำลอง
เราจะใช้ compile กับแบบจำลองด้วย:
- ฟังก์ชันความสูญเสีย: ครอสเอนโทรปีแบบจัดหมวดหมู่สำหรับการจำแนกหลายหมวดหมู่
- ตัวเพิ่มประสิทธิภาพ: ตัวเพิ่มประสิทธิภาพอดัมเพื่อการเรียนรู้ที่มีประสิทธิภาพ
- ตัวชี้วัด: ความแม่นยำเพื่อ evaluate ประสิทธิภาพ
# Compile the model
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])การฝึกแบบจำลอง
การฝึกแบบจำลอง
เราจะฝึกแบบจำลองโดยใช้ข้อมูลฝึกเป็นเวลา 10 รอบการฝึก ระหว่างการฝึก แบบจำลองจะเรียนรู้การจำแนกภาพออกเป็นหมวดหมู่ต่าง ๆ
# Train the model
model.fit(x_train, y_train, epochs=10, validation_data=(x_test, y_test))การประเมินแบบจำลอง
การประเมินแบบจำลอง
หลังการฝึก เราจะ evaluate แบบจำลองด้วยข้อมูลทดสอบเพื่อตรวจสอบความแม่นยำ:
# Evaluate the model
loss, accuracy = model.evaluate(x_test, y_test)
print(f"Test Accuracy: {accuracy * 100:.2f}%")การสร้างการคาดการณ์
การสร้างการคาดการณ์
เราสามารถใช้แบบจำลองที่ฝึกแล้วเพื่อคาดการณ์ภาพใหม่:
# Predict the category of a test image
import numpy as np
sample_image = x_test[0]
sample_label = y_test[0]
prediction = np.argmax(model.predict(sample_image[np.newaxis, ...]))
print(f"Predicted Label: {prediction}, Actual Label: {sample_label[0]}")ความท้าทายในการจำแนกภาพ
ความท้าทายในการจำแนกภาพ
ความท้าทายที่พบได้ทั่วไป ได้แก่:
- การเรียนรู้เกินพอดี: แบบจำลองทำงานได้ดีด้วยข้อมูลฝึก แต่ทำงานได้ไม่ดีด้วยข้อมูลใหม่
- ความไม่สมดุลของหมวดหมู่: หมวดหมู่ต่าง ๆ มีสัดส่วนในชุดข้อมูลไม่เท่ากัน
- ต้นทุนการคำนวณ: การฝึกโครงข่ายเชิงลึกต้องใช้ทรัพยากรจำนวนมาก
สรุปและขั้นตอนถัดไป
สรุปและขั้นตอนถัดไป
ในโครงการนี้ เราได้:
- สร้างและฝึก CNN สำหรับการจำแนกภาพโดยใช้ชุดข้อมูล CIFAR-10
- เรียนรู้การโหลด การประมวลผลเบื้องต้น และการ evaluate ชุดข้อมูล
- พูดคุยเกี่ยวกับความท้าทายในงานจำแนกภาพ
ถัดไป เราจะสำรวจเทคนิคการเพิ่มข้อมูลเพื่อปรับปรุงประสิทธิภาพของแบบจำลองด้วยการสร้างรูปแบบต่าง ๆ ของภาพฝึก

คำถามที่พบบ่อย
บทเรียน “โครงงานการจำแนกประเภทภาพ” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “โครงงานการจำแนกประเภทภาพ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Python Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Python Academy มีบทเรียนทั้งหมด 5 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “โครงงานการจำแนกประเภทภาพ”
การสร้างแบบจำลอง CNN เบื้องต้น คุณปฏิบัติ Python Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Python Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Python Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 5 บทเรียน
บทเรียน “โครงงานการจำแนกประเภทภาพ” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Python Academy นี้ได้ไหม
ได้ บทเรียน Python Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ข้อมูลภาพคืออะไร
- การประมวลผลภาพด้วย OpenCV
- โครงข่ายประสาทเทียมแบบคอนโวลูชัน (CNN)
- โครงงานการจำแนกประเภทภาพ
- เทคนิคการเพิ่มข้อมูล