【模型微调】

【模型微调】

  • 1 模型微调的情况
  • 2 步骤:

1 模型微调的情况

冻结的卷积层,训练分类器,分类器训练好后将冻结的卷积层解冻,允许卷积层的参数计算梯度并优化。

2 步骤:

(1)冻结预训练模型的卷积层,训练分类器,
(2)分类器训练完毕后,解冻卷积层,继续训练。卷积层毕竟是通用的参数并不针对当前问题,所以解冻后继续训练,针对当前问题的特征提取将更加准确。
注意: 微调设置较小的学习率,防止梯度变化过大,影响收敛

分类器训练好后接.....

for param in model.parameters():
    param.requires_grad = True
    
extend_epochs = 15

optimizer = torch.optim.Adam(model.parameters(), lr=0.00001)    #微调设置较小的学习率,防止梯度变化过大,影响收敛
train_loss_, test_loss_, train_acc_, test_acc_ = fit(extend_epochs, 
                                                 train_dl, 
                                                 test_dl, 
                                                 model, 
                                                 loss_fn, 
                                                 optimizer)

你可能感兴趣的:(深度学习,深度学习,神经网络,计算机视觉)