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

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
____
แก้ไขและรันโค้ด