使用预训练模型,我们有两种方式
- 加载torchvison中的模型,然后定义
pretrained=True
- 采用pretrainedmodels模块
torchvision方式
from torchvision.models.resnet import resnet18
net = resnet18(pretrained=True)
采用pretrainedmodels方式
安装pretrainedmodels模块
pip install pretrainedmodels
安装好后,我们可以查看可用的预训练模型
import pretrainedmodels
print(pretrainedmodels.model_names)
"""
['fbresnet152', 'bninception', 'resnext101_32x4d', 'resnext101_64x4d',
'inceptionv4', 'inceptionresnetv2', 'alexnet', 'densenet121', 'densenet169',
'densenet201', 'densenet161', 'resnet18', 'resnet34', 'resnet50', 'resnet101',
'resnet152', 'inceptionv3', 'squeezenet1_0', 'squeezenet1_1', 'vgg11', 'vgg11_bn',
'vgg13', 'vgg13_bn', 'vgg16', 'vgg16_bn', 'vgg19_bn', 'vgg19', 'nasnetalarge',
'nasnetamobile', 'cafferesnet101', 'senet154', 'se_resnet50', 'se_resnet101',
'se_resnet152', 'se_resnext50_32x4d', 'se_resnext101_32x4d', 'cafferesnet101',
'polynet', 'pnasnet5large']
"""
加载预训练模型
import pretrainedmodels
pretrainedmodels.inceptionv3(num_classes=1000, pretrained='imagenet')
END