PyTorch自学系列之 pretrained model usage
首先为了尊重他人贡献,本博客参考链接为:https://blog.csdn.net/VictoriaW/article/details/72821329 (感谢知识传递者)
楼主使用预训练模型的初衷是:目标识别检测框架在不同的计算机视觉应用中性能的提升很大一部分原因是由于骨干网络的西能提升,为了使用更好的Backbone获取feature map,所以有必要学习如何使用更好的预训练模型。
套路:在pytorch库中,使用预训练模型可以分为两种方式:第一,完全加载网络结构和checkpoint的权重;第二,首先构建相同结构的网络,然后加载预训练模型的checkpoint的权重state。一般而言,使用后者是一个通用操作。
pytorch中的torchvision.models模块中存放了较常用的backbone:vgg11,vgg11_bn,vgg13, vgg13_bn, vgg16,vgg16_bn,vgg19,vgg19_bn; resnet18, resnet34, resnet50, resnet101, resnet152; densnet121, densnet162, densnet169, densnet201等等(不一一列举)
第一步,构建想用使用的预训练网络的结构
可以自己构建,可以直接调用(即从pytorch.org...)中去下载
import torchvision.models as models # 导入相应模块
resnet18 = models.resnet18(pretrained=True)
vgg16 = models.vgg16(pretrained=True)
alexnet = models.alexnet(pretrained=True)
squeezenet = models.squeezenet1_0(pretrained=True)
第二步,如果需要可以微调网络结构和筛选参数
vgg16 = models.vgg16(pretrained=True)
pretrained_dict = vgg16.state_dict()
model_dict = model.state_dict()
# 1. filter out unnecessary keys
pretrained_dict = {k: v for k, v in pretrained_dict.items() if k in model_dict}
# 2. overwrite entries in the existing state dict
model_dict.update(pretrained_dict)
# 3. load the new state dict
model.load_state_dict(model_dict)
PyTorch自学系列之 pretrained model usage相关推荐
- pytorch 指定卡1_[原创][深度][PyTorch] DDP系列第一篇:入门教程
引言 DistributedDataParallel(DDP)是一个支持多机多卡.分布式训练的深度学习工程方法.PyTorch现已原生支持DDP,可以直接通过torch.distributed使用,超 ...
- keras系列︱Sequential与Model模型、keras基本结构功能(一)
不得不说,这深度学习框架更新太快了尤其到了Keras2.0版本,快到Keras中文版好多都是错的,快到官方文档也有旧的没更新,前路坑太多. 到发文为止,已经有theano/tensorflow/CNT ...
- PyTorch学习系列教程:构建一个深度学习模型需要哪几步?
导读 继续PyTorch学习系列.前篇介绍了PyTorch中最为基础也最为核心的数据结构--Tensor,有了这些基本概念即可开始深度学习实践了.本篇围绕这一话题,本着提纲挈领删繁就简的原则,从宏观上 ...
- [深度][PyTorch] DDP系列第三篇:实战与技巧
[深度][PyTorch] DDP系列第三篇:实战与技巧 转自:https://zhuanlan.zhihu.com/p/250471767 零. 概览 想要让你的PyTorch神经网络在多卡环境上跑 ...
- 论文解读:SpellBERT:A Lightweight Pretrained Model for Chinese Spelling Checking
论文解读:SpellBERT:A Lightweight Pretrained Model for Chinese Spelling Checking 简要信息: 序号 属性 值 1 模型名称 Spe ...
- 刘二大人Pytorch实战系列
刘二大人Pytorch实战系列第2讲 课程内容 课后作业 课程内容 课程代码 import numpy as np import matplotlib.pyplot as pltx_data = [1 ...
- LLMs之GLM-130B/ChatGLM:《GLM-130B: AN OPEN BILINGUAL PRE-TRAINED MODEL》翻译与解读
LLMs之GLM-130B/ChatGLM:<GLM-130B: AN OPEN BILINGUAL PRE-TRAINED MODEL>翻译与解读 导读:2023年3月10日,千亿对话模 ...
- 华为防火墙基础自学系列 | IKE介绍
视频来源:B站<乾颐堂HCIP-HCIE-security安全 2019年录制> 一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持! 附上汇总贴:华为防火墙基础自 ...
- 华为防火墙基础自学系列 | 证书申请方式
视频来源:B站<乾颐堂HCIP-HCIE-security安全 2019年录制> 一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持! 附上汇总贴:华为防火墙基础自 ...
最新文章
- 七夕节脱单“神助攻”!AI教你写情话
- Window10下Ubuntu20.04子系统下安装cuda
- Why Did the Cow Cross the Road III(树状数组)
- 2.3.5 用信号量实现 进程互斥 同步 前驱关系
- C++ 面向对象(一)继承:继承、对象切割、菱形继承、虚继承、继承与组合
- 如何把新建的UI component添加到新的workcenter里
- 知乎回应“腾讯搜狗退出知乎股东”:是上市后的标准操作
- 记一次ST-LINK维修及刷固件过程
- 用文本文档制作bat文件
- STM32F103C8t6程序下载
- 计算机专业及相关知识测试,计算机知识及测验考试.doc
- 计算机系统定义硬盘1GB,硬盘容量是什么意思?常见的硬盘硬盘内部
- GNU C Complier - GNU Compiler Collection - GCC
- 3DsMax导出插件编写(二)——常规SDK方法进行信息获取和保存文件
- 富爸爸穷爸爸的所有书籍
- ARM的九种寻址方式
- 微信上传图片没反应_365微信编辑器图片上传不了怎么办?
- 闲鱼前端组件库的建设
- 微信和抖音都到十亿级用户了,作为产品经理的你们觉得哪个产品更成功?
- 查询某个表空间下所有的表的空间占用情况
热门文章
- Keil5汇编语言之模拟仿真
- 迁移AndroidX,你该搬家了
- WebQuest(网络探究)学习nbsp;模式
- 未转变者自己开服务器怎么作弊,未转变者怎样显示才能才算开启作弊模式 | 手游网游页游攻略大全...
- MetaMask 和其他 40 个钱包成为恶意软件“Mars Stealer”的目标
- 2020 年 “联想杯”全国高校程序设计在线邀请赛暨第三届上海理工大学程序设计竞赛热身赛B. 回文串
- 计算机操作系统【慕课版】课后习题解答
- 谈当代ICT技术热点
- Sanitizable signatures(净化签名) 和 Redactable signatures(可修订签名)
- linux5.8抓包,Linux 抓包工具 tcpdump