Backbone ของโมเดล pre-trained
ถึงเวลาสร้างสถาปัตยกรรม R-CNN แล้ว! เราจะใช้ backbone ของโมเดล pre-trained vgg16 สำหรับการดึง features นอกจากนี้ยังต้องเก็บ output shape ของ backbone ไว้ด้วย เพื่อใช้เป็น input shape สำหรับบล็อกถัดไป ได้แก่ classifier และ box regressor
นำเข้า torch, torchvision, torch.nn ในชื่อ nn แล้ว
นำเข้าโมเดลในชื่อ vgg16 โดยมี weights เก็บอยู่ใน VGG16_Weights
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Deep Learning สำหรับภาพด้วย PyTorch
คำแนะนำการฝึกหัด
- โหลด weights ที่ผ่านการเทรนมาแล้วของ VGG16
- ดึงค่า
in_featuresจาก layer แรกของclassifierโดยใช้.children()เป็น sequential block แล้วเก็บไว้ในตัวแปรinput_dim - สร้าง backbone เป็น sequential block โดยใช้
featuresและ.children() - แสดงผลโมเดล backbone
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# 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
____