Backbone từ mô hình tiền huấn luyện
Đến lúc xây dựng kiến trúc R-CNN! Bạn sẽ dùng backbone của mô hình tiền huấn luyện vgg16 để trích xuất đặc trưng. Hãy nhớ lưu lại kích thước đầu ra của backbone vì nó sẽ là kích thước đầu vào cho các khối tiếp theo: bộ phân loại (classifier) và bộ hồi quy hộp (box regressor).
torch, torchvision, torch.nn dưới tên nn đã được import.
Mô hình đã được import là vgg16 với trọng số lưu trong VGG16_Weights.
Bài tập này là một phần của khóa học
Deep Learning cho Ảnh với PyTorch
Hướng dẫn bài tập
- Tải trọng số VGG16 đã tiền huấn luyện.
- Trích xuất
in_featurestừ lớp đầu tiên củaclassifierbằng.children()như một khối tuần tự và lưu vàoinput_dim. - Tạo một backbone dưới dạng khối tuần tự bằng cách dùng
featuresvà.children(). - In mô hình backbone.
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.
# Load pretrained weights
vgg_model = vgg16(weights=____)
# Extract the input dimension
input_dim = nn.Sequential(*list(vgg_model.classifier.____()))[0].____
# Create a backbone with convolutional layers
backbone = nn.Sequential(*list(____))
# Print the backbone model
____