1. 程式人生 > 程式設計 >Pytorch根據layers的name凍結訓練方式

Pytorch根據layers的name凍結訓練方式

使用model.named_parameters()可以輕鬆搞定,

model.cuda()
 
 
# ######################################## Froze some layers to fine-turn the model ########################
for name,param in model.named_parameters(): # 帶有引數名的模型的各個層包含的引數遍歷
  if 'out' or 'merge' or 'before_regress' in name: # 判斷引數名字串中是否包含某些關鍵字
    continue
  param.requires_grad = False
# #############################################################################################################
 
 
optimizer = optim.SGD(filter(lambda p: p.requires_grad,model.parameters()),lr=opt.learning_rate * args.world_size,momentum=0.9,weight_decay=5e-4)

以上這篇Pytorch根據layers的name凍結訓練方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。