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模型全连接层进行直接训练的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 PyTorch 中的单个全连接层直接将输入连接到输出?