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之编写类之四再论继承

跟老齐学Python之编写类之四再论继承

在上一讲代码的基础上,做进一步修改,成为了如下程序,请看官研习这个程序: 复制代码 代码如下: #!/usr/bin/env python #coding:utf-8 class Per...

在Python的Tornado框架中实现简单的在线代理的教程

实现代理的方式很多种,流行的web服务器也大都有代理的功能,比如http://www.tornadoweb.cn用的就是nginx的代理功能做的tornadoweb官网的镜像。 最近,我...

利用arcgis的python读取要素的X,Y方法

如下所示: import arcpy ... from arcpy import env ... env.workspace="C:\\Users\\Administrator\\D...

使用Python进行二进制文件读写的简单方法(推荐)

总的感觉,python本身并没有对二进制进行支持,不过提供了一个模块来弥补,就是struct模块。 python没有二进制类型,但可以存储二进制类型的数据,就是用string字符串类型来...

Python 正则表达式(转义问题)

先说一个比较囧的事情:在写虾米音乐试听下载器的时候遇到一个问题,因为保存的文件都是用音乐的标题命名的,所以碰到一些诸如「対峙/out border」等含有非法字符(哼哼,说的就是你 →_...