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

yipeiwu_com7年前Python基础

之前在用预训练的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)

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

以上知识点很简单,大家可以测试下,感谢大家的阅读和对【听图阁-专注于Python设计】的支持。

相关文章

Python 忽略warning的输出方法

有时候运行代码时会有很多warning输出,如提醒新版本之类的,如果不想这些乱糟糟的输出可以这样: import warnings warnings.filterwarnings(...

Python subprocess库的使用详解

介绍 使用subprocess模块的目的是用于替换os.system等一些旧的模块和方法。 运行python的时候,我们都是在创建并运行一个进程。像Linux进程那样,一个进程可以f...

python常见的格式化输出小结

本文总结了一些简单基本的输出格式化形式,下面话不多说了,来看看详细的介绍吧。 一、打印字符串 >>> print "I'm %s" % ("jihite") I'...

python3实现表白神器

本文实例为大家分享了使用python3制作的表白神器,供大家参考,具体内容如下 使用python3制作的小玩意,哪里需要改造的,望各位评论一下! #coding=utf-8 #第一个...

python模块简介之有序字典(OrderedDict)

有序字典-OrderedDict简介 示例 有序字典和通常字典类似,只是它可以记录元素插入其中的顺序,而一般字典是会以任意的顺序迭代的。参见下面的例子: import collect...