365天深度学习训练营-第P4周:猴痘病识别

本周尝试了使用预训练模型并进行微调的方式,选取ResNet18进行分类,将最终分类层替换

model = resnet18(pretrained=True)
model.fc = nn.Linear(model.fc.in_features, 2)
nn.init.xavier_uniform_(model.fc.weight)

对于预训练模型采用较低学习率,而分类层采用较高学习率

loss_fn    = nn.CrossEntropyLoss() # 创建损失函数
learn_rate = 1e-4 # 学习率
params_1x = [param for name, param in model.named_parameters()
             if name not in ["fc.weight", "fc.bias"]]
opt = torch.optim.SGD([{'params': params_1x},
                        {'params': model.fc.parameters(),
                         'lr': learn_rate * 10}],
                        lr=learn_rate, weight_decay=0.001)

在这里插入图片描述

在这里插入图片描述

更多推荐