unfreeze کردن لایه های آخر مدل - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

unfreeze کردن لایه های آخر مدل

0 امتیاز
سلام.

چطوری در مدل مدنظرمان به فرض n لایه نهایی را از فریز در بیاریم؟
سوال شده خرداد 17, 1401  بوسیله ی dark16 (امتیاز 172)   7 18 25

1 پاسخ

0 امتیاز

برای باز کردن n لایه آخر در مدل PyTorch، می توانید از کد زیر استفاده کنید:

for param in model.parameters():
    param.requires_grad = False

counter = 0
for child in model.children():
    counter += 1
    if counter >= len(list(model.children())) - n:
        for param in child.parameters():
            param.requires_grad = True

 

این کد ویژگی requires_grad تمام پارامترهای مدل را در ابتدا روی False قرار می دهد. سپس، روی فرزندان مدل تکرار می‌شود و برای n لایه آخر، ویژگی requires_grad را روی True قرار می‌دهد.

پاسخ داده شده بهمن 14, 1401 بوسیله ی عباس همت خواه (امتیاز 436)   2 8 13
...