利用预训练的ResNet模型进行迁移学习

本文介绍了如何利用预训练的ResNet模型进行迁移学习,特别是针对虹膜识别任务。讨论了两种迁移学习方法,包括全网络训练和仅训练全连接层。还讲解了在PyTorch中如何处理输入图像大小的问题,提取特定层的特征,选择优化器,调整学习率以及如何在训练过程中冻结部分层。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章 " Deep Learning-Based Feature Extraction in Iris Recognition: Use Existing Models, Fine-tune or Train From Scratch? " 证明进行迁移学习得到的虹膜识别模型性能高于自己训练的模型。
所以我想尝试微调在ImageNet上预训练的ResNet模型进行虹膜识别

两种迁移学习方法

pytorch在resnet18上进行迁移学习的两种常用方式

  1. 预训练的网络参数初始化网络,而不是随机初始化网络参数,然后基于自己的数据集进行全网络训练。
  2. 冻结除全连接层之外的所有网络权重,用于提取图像特征,只有全连接层的参数基于自己的数据集进行训练。

PyTorch将同一类图片切分为训练集、验证集和测试集

如果不想自己去划分数据集,可以采用这种方法

现输入大小与预训练网络输入大小不同

resnet网络解决输入现输入大小与预训练网络输入大小不同的问题
因为resnet中最后有池化层和全连接层,会对输入图像大小有限制是(224, 224),如果不使用最后的全连接层只要图像大小大于(32, 32)就行。
首先我们看下,resnet18在哪些地方改变了输出图像的大小:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值