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
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ạ
id2labelmới khi tải mô hình. - Thêm ánh xạ
label2idtươ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=____
)