นำ pruning ไปใช้กับ linear layer
เราได้เทรนโมเดลจำแนกภาพโดยใช้ fully connected (linear) layer แล้ว ขั้นตอนต่อไปคือการนำ unstructured pruning มาใช้กับ layer นี้ เพื่อลดขนาดโมเดลโดยไม่ส่งผลกระทบต่อประสิทธิภาพมากนัก โดยจะใช้เมธอด l1_unstructured ของ PyTorch สำหรับงานนี้
โมเดลถูกโหลดไว้ล่วงหน้าในตัวแปร model แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
AI Models แบบ Scalable ด้วย PyTorch Lightning
คำแนะนำการฝึกหัด
- นำเข้าโมดูล pruning จาก
torch.nn.utils - นำ
l1_unstructuredpruning ไปใช้กับmodel[3]ซึ่งเป็น layer สุดท้าย และตัดทอนน้ำหนัก 30%
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Import pruning module
import torch.nn.utils.prune as ____
# Before pruning
print(model)
# Apply L1 unstructured pruning to model[3]
prune.____(model[3], name="____", amount=____)
# After pruning
print(model)