Pytorch修改ResNet模型全连接层进行直接训练

Posted yqpy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pytorch修改ResNet模型全连接层进行直接训练相关的知识,希望对你有一定的参考价值。

之前在用预训练的ResNet的模型进行迁移训练时,是固定除最后一层的前面层权重,然后把全连接层输出改为自己需要的数目,进行最后一层的训练,那么现在假如想要只是把

最后一层的输出改一下,不需要加载前面层的权重,方法如下:

model = torchvision.models.resnet18(pretrained=False)
num_fc_ftr = model.fc.in_features
model.fc = torch.nn.Linear(num_fc_ftr, 224)
model = nn.DataParallel(model, device_ids=config.gpus).to(device)

首先模型结构是必须要传入的,然后把最后一层的输出改为自己所需的数目

以上是关于Pytorch修改ResNet模型全连接层进行直接训练的主要内容,如果未能解决你的问题,请参考以下文章

resnet18全连接层改成卷积层

resnet 有全连接层吗?

如何使用 PyTorch 中的单个全连接层直接将输入连接到输出?

无需在 Pytorch 中进行微调即可从预训练模型中获取 128 个暗淡的特征向量

pytorch全连接层计算时间短

机器学习/pytorch笔记 池化