pytorch使用cnn_finetune调用预训练模型

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]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值