PyTorch 入门学习(八)————torchvision.models


Pytorch 提供 torchvision.models 接口,里面包含了一些常用用的网络结构,并提供了预训练模型,可以通过简单调用来读取网络结构和预训练模型。

官方文档地址:https://pytorch.org/docs/master/torchvision/models.html#

一、PyTorch 官方提供的网络

1、对于分类问题的网络

  • AlexNet
  • VGG
  • ResNet
  • SqueezeNet
  • DenseNet
  • Inception v3
  • GoogLeNet
  • ShuffleNet v2
  • MobileNet v2
  • ResNeXt
  • Wide ResNet
  • MNASNet

2、对于语义分割问题的网络

  • Fully Convolutional Networks
  • DeepLabV3

3、对于目标检测、图像分割、特征点检测

  • Faster R-CNN
  • Mask R-CNN
  • Keypoint R-CNN

4、对于视频分类

  • ResNet 3D
  • ResNet Mixed Convolution
  • ResNet (2+1)D

二、模型的导入

  • 导入 resnet50使用 预训练模型
import torchvision
model = torchvision.models.resnet50(pretrained=True)
  • 导入 resnet50 不使用 预训练模型
import torchvision
model = torchvision.models.resnet50(pretrained=False)

运行model = torchvision.models.resnet50(pretrained=True)的时候,是通过models包下的resnet.py脚本进行的,源码如下:

../vision/torchvision/models/resnet.py
import torch.nn as nn
import math
import torch.utils.model_zoo as model_zoo

__all__ = ['ResNet', 'resnet18', 'resnet34', 'resnet50', 'resnet101',
           'resnet152']

model_urls = {
    'resnet18': 'https://download.pytorch.org/models/resnet18-5c106cde.pth',
    'resnet34': 'https://download.pytorch.org/models/resnet34-333f7ec4.pth',
    'resnet50': 'https://download.pytorch.org/models/resnet50-19c8e357.pth',
    'resnet101': 'https://download.pytorch.org/models/resnet101-5d3b4d8f.pth',
    'resnet152': 'https://download.pytorch.org/models/resnet152-b121ed2d.pth',
}
### 关于 PyTorch 的资源与教程 #### PyTorch 源码解读 对于希望深入理解 PyTorch 内部实现机制的开发者来说,可以从官方 GitHub 仓库入手[^1]。该仓库不仅提供了完整的源码结构,还包含了详细的构建指南以及开发环境配置说明。通过阅读这些资料,可以了解如何从源码层面编译并调试 PyTorch,尤其是针对 CUDA 和 cuDNN 支持的部分进行了详尽描述。 如果需要具体操作指导,则可参考一些社区分享的内容,例如 Bilibili 上有关 “PyTorch 源码编译”的视频教程涵盖了最新版本下的编译流程及常见问题解决方案。此外,在 VSCode 中设置断点来逐步跟踪 Python 或 C++ 部分逻辑也是学习其内部工作原理的有效方法之一。 关于 RNN 这样的特定模块,其实现位于 `\Lib\site-packages\torch\nn\modules\RNN.py` 文件中[^2]。通过对这类核心组件的研究能够进一步加深对框架整体架构的认识。 #### PyTorch 使用教程 为了快速上手使用 PyTorch 构建机器学习项目,推荐访问官网提供的入门级教学材料 (https://pytorch.org/tutorials/) 。这里既有基础概念介绍也有高级技巧展示,并且每篇文章都配有实例代码便于实践验证效果。 另外还有许多第三方制作的质量较高的课程可供选择,比如 Coursera 平台上的《Deep Learning Specialization》系列中的部分内容专门讲解了基于 PyTorch 实现神经网络的过程;而 Fast.ai 则更侧重实战应用方面,强调简单高效地完成复杂任务的能力培养。 #### PyTorch 官方文档 作为最权威的信息来源,《PyTorch Documentation》(https://pytorch.org/docs/stable/index.html) 是每位使用者都应该熟悉的地方。它按照功能分类整理出了详尽的功能列表及其参数解释,同时还附带了大量的例子帮助理解和记忆知识点。无论是初学者还是资深工程师都能从中受益匪浅。 ```python import torch from torchvision import models # 加载预训练模型 ResNet-18 model = models.resnet18(pretrained=True) # 设置为评估模式 model.eval() # 假设输入图片大小为 224x224 RGB 图像 dummy_input = torch.randn(1, 3, 224, 224) # 获取输出特征向量 output = model(dummy_input) print(output.shape) ``` 上述示例展示了如何利用 `torchvision.models` 下载一个已经过 ImageNet 数据集训练好的卷积神经网络——ResNet-18,并对其进行推理测试[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值