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

Fine-tuning CV: คลาสของโมเดล

ในแบบฝึกหัดนี้ จะโหลดโมเดล pretrained และปรับ output ให้รองรับการจำแนกประเภทรถยนต์ตาม Stanford Cars dataset แทนที่จะใช้ 1,000 คลาสจากการเทรน ImageNet เดิม ชุดข้อมูลนี้ประกอบด้วยภาพรถยนต์ที่มีป้ายกำกับแล้ว

โหลดชุดข้อมูล (dataset) และ AutoModelForImageClassification จาก transformers ไว้แล้ว พร้อมกรองชุดข้อมูลให้เหลือเพียงสามประเภทรถยนต์

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

โมเดล Multi-Modal ด้วย Hugging Face

ดูคอร์ส

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

  • ดึงชื่อ label ใหม่จากชุดข้อมูล
  • เพิ่ม mapping id2label ใหม่ขณะโหลดโมเดล
  • เพิ่ม mapping label2id ที่สอดคล้องกัน
  • เพิ่ม flag ที่จำเป็นเพื่อเปลี่ยนจำนวนคลาส

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

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

# Obtain the new label names from the dataset
labels = dataset["train"].features["____"].____

label2id, id2label = dict(), dict()
for i, label in enumerate(labels):
    label2id[label] = str(i)
    id2label[str(i)] = label

model = AutoModelForImageClassification.from_pretrained(
    "google/mobilenet_v2_1.0_224",
    num_labels=len(labels),
    # Add the id2label mapping
    id2label=____,
    # Add the corresponding label2id mapping
    label2id=____,
    # Add the required flag to change the number of classes
    ignore_mismatched_sizes=____
)
แก้ไขและรันโค้ด