Learn AI with Python · บทเรียน

โครงงานการจำแนกประเภทภาพ

การสร้างแบบจำลอง CNN เบื้องต้น

บทเรียน 4 จาก 510 ขั้นตอน

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

โครงงานการจำแนกภาพ

ในโครงงานนี้ เราจะสร้าง CNN อย่างง่ายเพื่อจำแนกภาพออกเป็นหมวดหมู่ การจำแนกภาพคือการทำนายหมวดหมู่หรือป้ายกำกับของภาพนำเข้า

โครงงานการจำแนกประเภทภาพ — ภาพประกอบ 1

ชุดข้อมูลสำหรับการจำแนกภาพ

เราจะใช้ชุดข้อมูล 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 ที่ประกอบด้วยชั้นการ卷积 ชั้นการรวมข้อมูล และชั้นเชื่อมต่ออย่างสมบูรณ์:

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 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 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
  • เรียนรู้การโหลด การเตรียมข้อมูลล่วงหน้า และการประเมินชุดข้อมูล
  • พูดคุยเกี่ยวกับความท้าทายในงานจำแนกภาพ

ต่อไป เราจะสำรวจเทคนิคการเพิ่มความหลากหลายให้ข้อมูล เพื่อปรับปรุงประสิทธิภาพของแบบจำลองด้วยการสร้างรูปแบบต่าง ๆ ของภาพฝึก

โครงงานการจำแนกประเภทภาพ — ภาพประกอบ 10
เริ่มต้นได้ฟรี

เรียนรู้ Python ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
53
บทเรียน
225

คำถามที่พบบ่อย

บทเรียน “โครงงานการจำแนกประเภทภาพ” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “โครงงานการจำแนกประเภทภาพ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Learn AI with Python ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 5 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “โครงงานการจำแนกประเภทภาพ”

การสร้างแบบจำลอง CNN เบื้องต้น คุณปฏิบัติ Learn AI with Python ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Learn AI with Python หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Learn AI with Python บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 5 บทเรียน

บทเรียน “โครงงานการจำแนกประเภทภาพ” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Learn AI with Python นี้ได้ไหม

ได้ บทเรียน Learn AI with Python ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ข้อมูลภาพคืออะไร
  2. การประมวลผลภาพด้วย OpenCV
  3. โครงข่ายประสาทเทียมแบบคอนโวลูชัน (CNN)
  4. โครงงานการจำแนกประเภทภาพ
  5. เทคนิคการเพิ่มพูนข้อมูล
← กลับไปที่ Learn AI with Python