关于pytorch加载预训练模型的一些知识点

2023-10-26

一、用pytorch加载预训练模型默认存储路径

本机CPU:C:/Users/asus/.cache/torch/hub/checkpoints
服务器GPU:/home/xxx/.cache/torch/hub/checkpoints

二、常用预训练模型下载地址

https://github.com/pytorch/vision/tree/master/torchvision/models

ResNet

model_urls = {
    'resnet18': 'https://download.pytorch.org/models/resnet18-f37072fd.pth',
    'resnet34': 'https://download.pytorch.org/models/resnet34-b627a593.pth',
    'resnet50': 'https://download.pytorch.org/models/resnet50-0676ba61.pth',
    'resnet101': 'https://download.pytorch.org/models/resnet101-63fe2227.pth',
    'resnet152': 'https://download.pytorch.org/models/resnet152-394f9c45.pth',
    'resnext50_32x4d': 'https://download.pytorch.org/models/resnext50_32x4d-7cdf4587.pth',
    'resnext101_32x8d': 'https://download.pytorch.org/models/resnext101_32x8d-8ba56ff5.pth',
    'wide_resnet50_2': 'https://download.pytorch.org/models/wide_resnet50_2-95faca4d.pth',
    'wide_resnet101_2': 'https://download.pytorch.org/models/wide_resnet101_2-32ee1156.pth',
}

VGG

model_urls = {
    'vgg11': 'https://download.pytorch.org/models/vgg11-8a719046.pth',
    'vgg13': 'https://download.pytorch.org/models/vgg13-19584684.pth',
    'vgg16': 'https://download.pytorch.org/models/vgg16-397923af.pth',
    'vgg19': 'https://download.pytorch.org/models/vgg19-dcbb9e9d.pth',
    'vgg11_bn': 'https://download.pytorch.org/models/vgg11_bn-6002323d.pth',
    'vgg13_bn': 'https://download.pytorch.org/models/vgg13_bn-abd245e5.pth',
    'vgg16_bn': 'https://download.pytorch.org/models/vgg16_bn-6c64b313.pth',
    'vgg19_bn': 'https://download.pytorch.org/models/vgg19_bn-c79401a0.pth',
}

DenseNet

model_urls = {
    'densenet121': 'https://download.pytorch.org/models/densenet121-a639ec97.pth',
    'densenet169': 'https://download.pytorch.org/models/densenet169-b2777c0a.pth',
    'densenet201': 'https://download.pytorch.org/models/densenet201-c1103571.pth',
    'densenet161': 'https://download.pytorch.org/models/densenet161-8d451a50.pth',
}

GoogLeNet

model_urls = {
    # GoogLeNet ported from TensorFlow
    'googlenet': 'https://download.pytorch.org/models/googlenet-1378be20.pth',
}

Inception

model_urls = {
    # Inception v3 ported from TensorFlow
    'inception_v3_google': 'https://download.pytorch.org/models/inception_v3_google-0cc3c7bd.pth',
}

and so on

三、修改预训练模型下载路径

def resnet50(pretrained=False, **kwargs):
    """Constructs a ResNet-50 model.

    Args:
        pretrained (bool): If True, returns a model pre-trained on ImageNet
    """
    model = ResNet(Bottleneck, [3, 4, 6, 3], **kwargs)
    if pretrained:
        pretrained_model = model_zoo.load_url(model_urls['resnet50'])
    return model

找到 load_url,Ctrl + 鼠标左键,查找代码里所调用网络的类,查看此网络的加载方法。

def load_state_dict_from_url(url, model_dir=None, map_location=None, progress=True, check_hash=False, file_name=None):
    r"""Loads the Torch serialized object at the given URL.

    If downloaded file is a zip file, it will be automatically
    decompressed.

    If the object is already present in `model_dir`, it's deserialized and
    returned.
    The default value of `model_dir` is ``<hub_dir>/checkpoints`` where
    `hub_dir` is the directory returned by :func:`~torch.hub.get_dir`.

model_dir便是模型存储的地址,默认值为None。因此,将model_dir修改成我们模型存储的路径即可。
大家可以提前把预训练模型下载到对应的文件夹,避免在线下载网络不佳。

def load_state_dict_from_url(url, model_dir='/d3/xxx/checkpoint', map_location=None, progress=True, check_hash=False, file_name=None):
    r"""Loads the Torch serialized object at the given URL.

    If downloaded file is a zip file, it will be automatically
    decompressed.

    If the object is already present in `model_dir`, it's deserialized and
    returned.
    The default value of `model_dir` is ``<hub_dir>/checkpoints`` where
    `hub_dir` is the directory returned by :func:`~torch.hub.get_dir`.

四、查看预训练模型的参数(ResNet50)

path = '/home/xxx/.cache/torch/hub/checkpoints/resnet50-19c8e357.pth'
pretrained_dict = torch.load(path)
for k, v in pretrained_dict.items():
    print(k)

显示结果:

conv1.weight
bn1.weight
bn1.bias
bn1.running_mean
bn1.running_var
bn1.num_batches_tracked
layer1.0.conv1.weight
layer1.0.bn1.weight
layer1.0.bn1.bias
...
...
...
layer4.2.bn3.running_var
layer4.2.bn3.num_batches_tracked
fc.weight
fc.bias

五、加载不包含全连接层的参数

    if pretrained:
        pretrained_model = model_zoo.load_url(model_urls['resnet50'])
        state = model.state_dict()
        for key in state.keys():
            if key in pretrained_model.keys():
                if "fc" not in key:
                    state[key] = pretrained_model[key]
        model.load_state_dict(state)

待更新…

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于pytorch加载预训练模型的一些知识点 的相关文章

  • 使用三个一维数组绘制等值线图

    正如标题所示 我想使用三个一维数组绘制等高线图 这么说吧 x np array 1 2 3 and y np array 1 2 3 and z np array 20 21 45 为了在 matplotlib 中绘制等高线图 我对x an
  • 将 ical 附件的邮件消息的内容类型设置为“text/calendar; method=REQUEST”

    我正在尝试使用 App Engine 邮件 API 从 App Engine 发送 iCalendar 格式的 ics 文件 这在 GMail 中非常有效 但是 Outlook 无法识别该文件 我认为问题在于内容类型设置为 文本 日历 而不
  • 我可以在 matplotlib 中的绘图左侧放置一个垂直颜色条吗?

    来自颜色条方法的 matplotlib 命令摘要 http matplotlib org api pyplot api html highlight colorbar matplotlib pyplot colorbar我知道关键字参数or
  • Discord.py 斜线命令在 cogs 中不起作用

    我正在构建一个不和谐的机器人 并且想要在 cogs 内使用斜杠命令 但这些命令不显示或工作 这是代码 cog guild ids 858573429787066368 861507832934563851 class Slash comma
  • NumPy 数组与 SQLite

    我在 Python 中见过的最常见的 SQLite 接口是sqlite3 但是有什么东西可以很好地与 NumPy 数组或 rearray 配合使用吗 我的意思是 它可以识别数据类型 不需要逐行插入 并提取到 NumPy rec 数组中 有点
  • 获取字符串模板中所有标识符列表的函数(Python)

    对于标准库string template在Python中 有没有一个函数可以获取所有标识符的列表 例如 使用以下 xml 文件
  • 在多核上运行 python 线程

    我知道Python 2 7不允许在不同的内核上运行多个线程 你需要使用multiprocessing模块以实现某种程度的并发性 我正在看concurrent futuresPython 3 4 中的模块 是否使用ThreadPoolExec
  • 对法语文本进行词形还原[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一些法语文本需要以某种方式进行处理 为此 我需要 首先 将文本标记为单词 然后对这些单词进行词形还原以避免多次处理相同的词根 据我
  • 将列表值转换为 pandas 中的行

    我有数据帧 其中一列具有相同长度的 numpy ndarray 值 df list 0 Out 92 array 0 0 0 0 29273096 0 30691767 0 27531403 我想将这些列表值转换为数据框并从 df iloc
  • Python FTP下载550错误

    我编写了一个 ftp 爬虫来下载特定文件 它会一直工作 直到找到要下载的特定文件 然后抛出此错误 ftplib error perm 550 该文件存在于我的下载文件夹中 但文件大小为 0 kb 我需要转换某些内容才能下载吗 我可以访问 f
  • 当元组列表中相同项目的值是字符串时,对它们的值求和

    如果我有这样的元组列表 my list books 5 books 10 ink 20 paper 15 paper 20 paper 15 我怎样才能把列表变成这样 books 15 ink 20 paper 50 即添加同一项目的费用
  • ImproperlyConfigured at / 不允许空静态前缀 - Django

    我正在使用 Django 上传 显示图像 该网站部署在 Heroku 上 下列的this https coderwall com p bz0sng教程我能够成功上传图像 但是 图像并未显示在模板中 然后我了解到我的 urls py 末尾应该
  • 增强迪基-富勒测试中的 BIC 在 Python 中到底是如何工作的?

    这个问题是关于 statsmodels tsa stattools python 库 adfuller 中的增强迪基 富勒测试实现 原则上 AIC 和 BIC 应该计算一组可用模型的信息标准 并选择最好的模型 信息损失最低的模型 但它们在增
  • 在 4K 屏幕上使用 Matplotlib 和 TKAgg 或 Qt5Agg 后端

    我在 Ubuntu 16 04 上使用 Matplotlib 2 0 和 Python 3 6 来创建数据图 电脑显示器的分辨率为 4k 分辨率为 3840x2160 绘图数字看起来非常小 字体也很小 我已经尝试过TKAgg and Qt5
  • 本地主机上的 Google App Engine GQL 查询

    我正在 Google App Engine Windows 上的 SDK 版本 1 7 0 上开发一个应用程序 我需要经常测试该应用程序 并且此测试涉及数据存储上的大量 GQL 查询 您可以在 App Engine 管理界面的浏览器中在线运
  • 将二进制数据视为文件对象?

    在此代码片段 由另一个人编写 中 self archive是一个大文件的路径并且raw file是以二进制数据形式读取的文件内容 with open self archive rb as f f seek offset raw file s
  • 如何使用 python 模块的多个 git 分支?

    我想使用 git 来同时处理我正在编写的模块中的多个功能 我目前正在使用 SVN 只有一个工作区 因此我的 PYTHONPATH 上只有该工作区 我意识到这不太理想 所以我想知道是否有人可以建议一种更 正确 的方法来做到这一点 让我用一个假
  • 带 Qt 的菜单栏/系统托盘应用程序

    我是 Qt PyQt 的新手 我正在尝试制作一个应用程序 其功能将从菜单栏 系统托盘执行 这里展示了一个完美的例子 我找不到关于如何做到这一点的好资源 有人可以建议吗 Thanks 我认为您正在寻找与QMenu and QMainWindo
  • 关闭正在运行代码的 IPython Notebook

    怎么运行的 我在 IPython Notebook 中运行了一些代码 一些迭代工作 我不小心关闭了正在运行的笔记本的浏览器 但回到 IPython 仪表板 我发现这个特定的笔记本尚未关闭 所以如果我再次打开笔记本 我会在它正在执行的代码前面
  • 如何使 Django 自定义管理命令参数不再需要?

    我正在尝试在 django 中编写自定义管理命令 如下所示 class Command BaseCommand def add arguments self parser parser add argument delay type int

随机推荐

  • 用MATLAB的GUI绘图的一个简单例子

    本文参考自https jingyan baidu com article 0f5fb099ade1626d8334ead0 html 略加改动 常用MATLAB进行一些计算 使用GUI功能的话调整参数的时候会比较方便 首先在MATLAB中选
  • FCA-FineReport帆软认证报表工程师(FCA)考试考题

    Part 1 判断题 总分 60分 得分 56 第1题 判断题 进行决策系统平台目录管理时 链接的地址可以选择使用相对路径或绝对路径 得分 2分 满分 2分 正确答案 A A 正确 B 错误 第2题 判断题 次级管理员可新建 编辑 删除有权
  • 爬虫的“黄金搭档”---requests库的详细介绍

    什么是requests Requests is an elegant an simple HTTP library for Python Requests是一个优雅而简单的HTTP库 requests库是一个常用的用于http请求的模块 它
  • 转发UGUI事件响应

    示例 点击UI时 被遮挡的UI也响应 using System Collections using System Collections Generic using System Linq using UnityEngine using U
  • SQL之DML

    DML Data Manipulation Language 数据操作语言 用来对数据库中表的数据记录进行增删改操作 insert 添加数据 update 修改数据 delete 删除数据 1 给指定字段添加数据 insert into 表
  • SlideLive:基于Elasticsearch Suggester实现搜索框提示功能

    简介 SlideLive网站使用Elasticsearch作为文档的搜索引擎 我们需要在搜索下拉框实现如下三种功能 自动补全 Auto Completion 纠错 热词推荐 ElasticSearch 为我们提供了Suggester功能 可
  • Hive整理

    文章目录 1 Hive 概述 2 1 Hive 优缺点 2 2 Hive 基础架构 2 HQL 转化为 MR 过程 3 Hive和RDBMS有什么异同 4 Hive 元数据保存方式 5 内部表 和 外部表 6 Hive 如何进行权限控制 7
  • 三年内人人有FIL,FIL 世界零撸板块引发全球流量狂潮!

    FIL 世界零撸板块自5月27日推出以来 就获得了全球Filecoin社区的热烈追捧 在短短一周内就吸引了全球20万粉丝的加盟 引发了全球价值流量狂潮 FIL世界是一个基于Filecoin整个产业链的综合性服务平台 致力于为IPFS行业生态
  • 【Vue实用功能】Vue实现文档在线预览功能,在线预览PDF、Word、Excel、ppt等office文件

    文章目录 TOC 文章目录 方法一 Luckysheet 预览 方法二 Office Web 查看器 微软的开发接口 方法三 XDOC文档预览云服务 预览pdf word xls ppt 方法一 Luckysheet 预览 Luckyshe
  • 服务器系统2022安装wsl2,微软win10子系统wsl2安装教程(附三个实例应用场景)

    wsl2与今年6月份微软buld的大会上发布消息 7月15日左右开始正式加入windows inside版本 熟悉wls win10子系统 一代的都知道 这东西把linux系统的操作直接带入到win10系统 随便启动cmd或powershe
  • 算法设计与分析-分治实验-第二题

    题目 循环赛日程表的设计 设计一个满足以下要求的比赛日程表 n 2k 1 每个选手必须与其他n 1个选手各赛一次 2 每个选手一天只能赛一次 3 循环赛一共进行n 1天 要求 输入选手的数量 需要有效性检查 满足n 2k条件 以矩阵形式输出
  • 【PCIe】Linux下PCIe驱动开发与学习

    目录 1 PCIe概述 2 pcie总线的拓扑结构 3 PCIe配置空间 3 1 PCI标准配置空间头 0 64 bytes 3 2 PCI capbility结构 64
  • 成功是一种境界

    第1节 完成三十岁前的积累 准备做一个成功的男人 1 Chapter Six 完成三十岁前的积累 准备做一个成功的男人 二十几岁是褪尽青涩 走向成熟的男人 二十几岁是很有紧迫感的年龄 如果男人到了三十还一事无成 人们就不再像对二十几岁时那样
  • 2.5 Java方法调用——类名调用方法、对象调用方法

    文章目录 方法 1 什么是方法 2 方法如何定义 方法怎么使用 通过类名调用方法 static 修饰方法 类名调用 通过对象调用方法 不加static修饰 new一个对象 对象调用 方法 1 什么是方法 类似于C语言中的函数 解决某一个问题
  • static_cast与dynamic_cast转换

    一 C语言中存在着两种类型转换 隐式转换和显式转换 隐式转换 不同数据类型之间赋值和运算 函数调用传递参数 编译器完成 char ch int i ch 显示转换 在类型前增加 Type 变量 对变量进行的转换 用户显式增加 char pc
  • 无法将值vmware-tray.exe写入注册表

    VMWare更新时候遇到问题 出现 无法将值vmware tray exe写入注册表 提醒 百度后发现各个帖子采用禁用账户的方法 完美的解决方案是 直接关掉所有杀毒软件
  • Java文件读写IO/NIO及性能比较总结

    干Java这么久 一直在做WEB相关的项目 一些基础类差不多都已经忘记 经常想得捡起 但总是因为一些原因 不能如愿 其实不是没有时间 只是有些时候疲于总结 今得空 下定决心将丢掉的都给捡起来 文件读写是一个在项目中经常遇到的工作 有些时候是
  • org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document fro

    org springframework beans factory BeanDefinitionStoreException IOException parsing XML document from class path resource
  • matlab人工神经网络如何使用,MATLAB的人工神经网络应用

    一 人工神经网络简介 人工神经网络 Artifical NeuralNetwork ANN 是目前国际上迅速发展的前沿交叉学科 张立明 1993 它是模仿生物神经系统的信息处理方式 组织结构和系统功能的简化系统 人工神经网络以其自身的自组织
  • 关于pytorch加载预训练模型的一些知识点

    一 用pytorch加载预训练模型默认存储路径 本机CPU C Users asus cache torch hub checkpoints 服务器GPU home xxx cache torch hub checkpoints 二 常用预