pytorch torchvision.models

torchvision.models 包含多种预训练的深度学习模型,如 Alexnet、VGG、ResNet、SqueezeNet、DenseNet、Inception v3 和 GoogLeNet。这些模型需要输入图像进行特定的归一化处理,并且可以通过设置 pretrained=True 获取预训练权重。预训练模型在 ImageNet 数据集上进行了训练,适用于图像分类任务。
摘要由CSDN通过智能技术生成

torchvision.models

模型子包包含以下模型体系结构的定义:

目录

torchvision.models

Alexnet

VGG

ResNet

SqueezeNet

DenseNet

Inception v3

GoogLeNet

可以通过调用其构造函数来构造具有随机权重的模型:

import torchvision.models as models
resnet18 = models.resnet18()
alexnet = models.alexnet()
vgg16 = models.vgg16()
squeezenet = models.squeezenet1_0()
densenet = models.densenet161()
inception = models.inception_v3()
googlenet = models.googlenet()

可以使用 PyTorch torch.utils.model_zoo 提供预先训练的模型。 这些可以通过传递 pretrained = True 来构造:

import torchvision.models as models
resnet18 = models.resnet18(pretrained=True)
alexnet = models.alexnet(pretrained=True)
squeezenet = models.squeezenet1_0(pretrained=True)
vgg16 = models.vgg16(pretrained=True)
densenet = models.densenet161(pretrained=True)
inception = models.inception_v3(pretrained=True)
googlenet = models.googlenet(pretrained=True)

对预先训练的模型进行实例化将其权重下载到缓存目录。 可以使用TORCH_MODEL_ZOO 环境变量设置此目录。 有关详细信息,请参阅 torch.utils.model_zoo.load_url()

某些模型使用具有不同 training 和 evaluation 行为的模块,例如批量标准化。 要在这些模式之间切换,根据需要使用model.train()或 model.eval()。 有关详细信息,请参阅 train() 或 eval()

所有预先训练的模型都希望输入图像以相同的方式归一化,即小批量的3通道RGB图像形状(3 x H x W),其中H和W预计至少为224。图像必须加载到[0,1]的范围,然后使用 mean = [0.485,0.456,0.406] 和 std = [0.229,0.224,0.225] 归一化。 可以使用以下转换来规范化:

normalize = transforms.Normalize(mean=[0.485, 0.456, 0.406],
                                 std=[0.229, 0.224, 0.225])

这种规范化的一个例子可以在这里的 imagenet 示例 中找到


                
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值