pytorch 一些关于模型参数冻结的问题
1.lambda表达式,又称匿名函数
作用:函数速写
语法:lambda arg : expression,解释:冒号前是参数,冒号后是返回值。
例子:
>>x=range(10)
>>lambda x:x%2==1
2.filter函数
参数:一个函数func和一个列表list
func的作用:对list的每个元素进行判断,符合条件返回true,否则返回false
filter根据判断结果自动过滤掉不符合条件的元素,并返回有符合元素组成的新列表
举例:
>>x=range(10)
>>filter(lambda x:x%2==1,x)
[1, 3, 5, 7, 9]
3.冻结一部分模型的参数中使用了上面两个函数:
# 模型准备
model = MyModel()# 优化、正则项、权重设置与冻结层for param in model.parameters():param.requires_grad = False
for param in model.add_block.parameters():param.requires_grad = Trueoptimizer = optim.SGD(filter(lambda p: p.requires_grad, model.parameters()), # 记住一定要加上filter(),不然会报错lr=0.01,weight_decay=1e-5, momentum=0.9, nesterov=True)
参考:https://blog.csdn.net/jdzwanghao/article/details/83239111
集中分析下面这行代码
filter(lambda p: p.requires_grad, model.parameters()), # 记住一定要加上filter(),不然会报错
由上面第1个函数所知
lambda p: p.requires_grad 中,p是参数,而 p.requires_grad是返回值
结合第2个函数所知 filter(lambda p: p.requires_grad, model.parameters())中 lambda p: p.requires_grad就是以p为参数的满足p.requires_grad的true的条件的函数。而参数p赋值的元素从列表model.parameters()里取。所以只取param.requires_grad = True(模型参数的可导性是true的元素),就过滤掉为false的元素。
pytorch 一些关于模型参数冻结的问题相关推荐
- pytorch中获取模型参数
原文链接:pytorch中获取模型参数:state_dict和parameters两个方法的差异比较_造未来-CSDN博客 一.本文的模型案例 代码如下: import torch import to ...
- pytorch如何freeze模型参数
pytorch如何freeze模型参数 在做迁移学习或者自监督学习时,一般先预训练一个模型,再将该模型参数作为目标任务模型的初始化参数,或者直接freeze预训练模型,不再更新其参数. 今天记录下如何 ...
- pytorch怎么设置模型参数初始值_CSGO:想知道职业选手的参数怎么设置?这张地图轻松帮你一键搞定...
在职业比赛当中,参数往往也是一个非常重要的设定.很多职业比赛中每个选手的持枪视角画面中心,还有各种快捷键的安排,都是完全不一样的.基本上是怎么舒服怎么来,这些设置绝大部分情况下都要根据个人的习惯去进行 ...
- Pytorch导入模型参数
1.Pytorch中,只导入部分模型参数 https://blog.csdn.net/qq_34914551/article/details/87871134 2. pytorch如何在某些层上冻结网 ...
- angularjs中state的参数4_一文梳理pytorch保存和重载模型参数攻略
训练过程中保存模型参数,就不怕断电了--沃资基·索德 在训练完成之前,我们需要每隔一段时间保存模型当前参数值,一方面可以防止断电重跑,另一方面可以观察不同迭代次数模型的表现:在训练完成以后,我们需要保 ...
- Pytorch模型迁移和迁移学习,导入部分模型参数
Pytorch模型迁移和迁移学习 目录 Pytorch模型迁移和迁移学习 1. 利用resnet18做迁移学习 2. 修改网络名称并迁移学习 3.去除原模型的某些模块 1. 利用resnet18做迁移 ...
- [pytorch、学习] - 4.2 模型参数的访问、初始化和共享
参考 4.2 模型参数的访问.初始化和共享 在3.3节(线性回归的简洁实现)中,我们通过init模块来初始化模型的参数.我们也介绍了访问模型参数的简单方法.本节将深入讲解如何访问和初始化模型参数,以及 ...
- python保存模型与参数_基于pytorch的保存和加载模型参数的方法
当我们花费大量的精力训练完网络,下次预测数据时不想再(有时也不必再)训练一次时,这时候torch.save(),torch.load()就要登场了. 保存和加载模型参数有两种方式: 方式一: torc ...
- PyTorch实现AlexNet模型及参数详解
文章目录 一.卷积池化层原理 二.全连接层原理 三.模型参数详解 注:AlexNet论文错误点 1.卷积池化层1 (1)卷积运算 (2)分组 (3)激活函数层 (4)池化层 (5)归一化处理 (6)参 ...
最新文章
- 【matlab】meshgrid的使用
- python流程控制语句-python语言的流程控制
- 挣脱浏览器的束缚(7) - CrossSubDomainExecutor
- Python3入门(十一)——IO编程
- arthas 排查内存溢出_小学妹问我:如何利用可视化工具排查问题?
- js 数组(Array)
- CCF201912-2 回收站选址
- 执行计划有时不准确_生产计划四个层次和解决方案
- Ubuntu 修复windows启动项
- java中什么是匿名接口_Java中接口(interface)和匿名类
- WinForm 的定时器使用
- java 分卷 zip
- 整理2020智能车竞赛网站各分赛区报名情况
- 基于matlab山脊线,基于Matlab的标记分水岭分割算法
- AWS的KVS相关介绍
- echarts迁徙效果
- 清华大学胡事民是计算机视觉,ResNet也能用在3D模型上了,清华「计图」团队新研究已开源...
- PAT 1121 Damn Single
- 【精髓】Laravel 模型关联
- 在线安装 docker
热门文章
- [转]nodejs深入学(7)理解Buffer
- Elasticsearch教程(六) elasticsearch Client创建
- 回顾Google IO 2016 -Keynote【图解】
- hdu 2184 01背包变形
- ASP.NET 2.0 数据绑定高级技巧
- tomcat 未指定服务器,[转载]Tomcat环境的建立
- vba 操作html,VBA IE对象的操作方法
- 什么叫做形态学图像处理_图像形态学处理中的膨胀与腐蚀介绍
- 专用efi文件包_850个水利水电工程全套表格,施工方/监理方专用表,只发布两天...
- java visualvm远程监控_如何监控和诊断堆外内存使用