Bắt đầu ngayBắt đầu miễn phí

Fine-tuning CV: các lớp mô hình

Trong bài tập này, bạn sẽ tải mô hình đã được pretrained và điều chỉnh đầu ra để phù hợp với một bài toán phân loại mới về các kiểu mẫu xe hơi từ Stanford Cars dataset, thay vì 1000 lớp được dùng cho huấn luyện ImageNet gốc. Bộ dữ liệu này chứa các ảnh ô tô đã được gán nhãn.

Bộ dữ liệu đã được tải (dataset), cũng như AutoModelForImageClassification từ transformers. Bộ dữ liệu đã được lọc để chỉ bao gồm ba kiểu mẫu xe.

Bài tập này là một phần của khóa học

Mô hình đa phương thức với Hugging Face

Xem khóa học

Hướng dẫn bài tập

  • Lấy tên các nhãn mới từ bộ dữ liệu
  • Thêm ánh xạ id2label mới khi tải mô hình.
  • Thêm ánh xạ label2id tương ứng.
  • Thêm cờ cần thiết để thay đổi số lượng lớp.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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=____
)
Chỉnh sửa và Chạy Mã