文章 " Deep Learning-Based Feature Extraction in Iris Recognition: Use Existing Models, Fine-tune or Train From Scratch? " 证明进行迁移学习得到的虹膜识别模型性能高于自己训练的模型。
所以我想尝试微调在ImageNet上预训练的ResNet模型进行虹膜识别
两种迁移学习方法
pytorch在resnet18上进行迁移学习的两种常用方式
- 预训练的网络参数初始化网络,而不是随机初始化网络参数,然后基于自己的数据集进行全网络训练。
- 冻结除全连接层之外的所有网络权重,用于提取图像特征,只有全连接层的参数基于自己的数据集进行训练。
PyTorch将同一类图片切分为训练集、验证集和测试集
现输入大小与预训练网络输入大小不同
resnet网络解决输入现输入大小与预训练网络输入大小不同的问题
因为resnet中最后有池化层和全连接层,会对输入图像大小有限制是(224, 224),如果不使用最后的全连接层只要图像大小大于(32, 32)就行。
首先我们看下,resnet18在哪些地方改变了输出图像的大小: