当前位置:   article > 正文

pytorch使用cnn_finetune调用预训练模型_如何fine-tune预训练的cnn模型

如何fine-tune预训练的cnn模型

1:首先安装cnn_finetune
pip install cnn_finetune
2: 创建一个用ImageNet训练的resnet18模型,并使用它的权重用于10分类
model = make_model(‘resnet18’, num_classes=10, pretrained=True)
3:创建一个模型,并设置Dropout
model = make_model(‘nasnetalarge’, num_classes=10, pretrained=True, dropout_p=0.5)
3:将模型全局最大池化改为全局平均池化
model = make_model(‘inceptionresnetv2’, num_classes=10, pretrained=True, pool=nn.AdaptiveMaxPool2d(1))
4:VGG和AlexNet模型因为使用全连接层的原因,所以需要固定输入大小,例如:
model = make_model(‘vgg16’, num_classes=10, pretrained=True, input_size=(256, 256))
5:创建一个VGG16的模型,输入图片大小为256x256,并使用自定义的分类器:
import torch.nn as nn

def make_classifier(in_features, num_classes):
return nn.Sequential(
nn.Linear(in_features, 4096),
nn.ReLU(inplace=True),
nn.Linear(4096, num_classes),
)

model = make_model(‘vgg16’, num_classes=10, pretrained=True, input_size=(256, 256), classifier_factory=make_classifier)
6:显示模型在ImageNet上进行训练时的预处理:
model = make_model(‘resnext101_64x4d’, num_classes=10, pretrained=True)
print(model.original_model_info)
print(model.original_model_info.mean)
[0.485, 0.456, 0.406]

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/691097
推荐阅读
相关标签
  

闽ICP备14008679号