pytorch:固定部分层参数,固定单个模型
文章目录
- 固定部分层参数
- 固定指定层的参数
- 不同层设置不同的学习率
固定部分层参数
class RESNET_attention(nn.Module):def __init__(self, model, pretrained):super(RESNET_attetnion, self).__init__()self.resnet = model(pretrained) # 这个model被固定for p in self.parameters():p.requires_grad = Falseself.f = nn.Conv2d(2048, 512, 1)self.g = nn.Conv2d(2048, 512, 1)self.h = nn.Conv2d(2048, 2048, 1)self.softmax = nn.Softmax(-1)self.gamma = nn.Parameter(torch.FloatTensor([0.0]))self.avgpool = nn.AvgPool2d(7, stride=1)self.resnet.fc = nn.Linear(2048, 10)
但是注意需要在optimizer中添加上这样的一句话
filter(lambda p: p.requires_grad, model.parameters())。
optimer =
固定指定层的参数
for k,v in model.named_parameters():if k.startswith ='XXX':v.requires_grad=False#固定参数
不同层设置不同的学习率
pytorch:固定部分层参数,固定单个模型相关推荐
- pytorch中的pre-train函数模型引用及修改(增减网络层,修改某层参数等)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/whut_ldz/article/det ...
- pytorch 之 冻结某层参数,即训练时不更新
首先,我们知道,深度学习网络中的参数是通过计算梯度,在反向传播进行更新的,从而能得到一个优秀的参数,但是有的时候,我们想固定其中的某些层的参数不参与反向传播.比如说,进行微调时,我们想固定已经加载预训 ...
- pytorch——冻结某层参数
参考链接: https://blog.csdn.net/qq_41368074/article/details/107860126 https://blog.csdn.net/Code_Mart/ar ...
- 神经网络冻结层,固定参数
结论: requires_grad_(False)只会将当前层的参数固定,对梯度往前传播不造成影响,从结果上看除了第二层的grad为None,与不固定参数来比其他层grad是相同的.detach_() ...
- [Pytorch系列-41]:卷积神经网络 - 模型参数的恢复/加载 - 搭建LeNet-5网络与MNIST数据集手写数字识别
作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文网址:https://blog.csdn.net/HiWangWenBing/article/detai ...
- Pytorch统计网络参数计算工具、模型 FLOPs, MACs, MAdds 关系
Pytorch统计网络参数 #网络参数数量 def get_parameter_number(net):total_num = sum(p.numel() for p in net.parameter ...
- Pytorch 学习(6):Pytorch中的torch.nn Convolution Layers 卷积层参数初始化
Pytorch 学习(6):Pytorch中的torch.nn Convolution Layers 卷积层参数初始化 class Conv1d(_ConvNd):......def __init ...
- PyTorch中CNN网络参数计算和模型文件大小预估
前言 在深度学习CNN构建过程中,网络的参数量是一个需要考虑的问题.太深的网络或是太大的卷积核.太多的特征图通道数都会导致网络参数量上升.写出的模型文件也会很大.所以提前计算网络参数和预估模型文件大小 ...
- pytorch---之BN层参数详解及应用(1,2,3)(1,2)?
BN层参数详解(1,2) 一般来说pytorch中的模型都是继承nn.Module类的,都有一个属性trainning指定是否是训练状态,训练状态与否将会影响到某些层的参数是否是固定的,比如BN层(对 ...
最新文章
- 程序员如何用Java排序
- 上下班同行有利于婚姻美满?
- 【乐畅】工作积累 ---- 调节音量大小 (滑动条调节音量大小并保存起来 )
- 如何在 Asp.Net Core 中对请求进行限流
- linux 为什么要安装gcc和gcc-c++(又叫做g++)
- linux绑定team网卡,linux 实现双网卡绑定单个IP——team篇
- 徐工施维英:基于帆软搭建数字化驾驶舱,提高生产效率50%
- 特斯拉:感谢A股股民!
- 《深入J2SDK》 总结
- 使有用计算机不注意卫生,“十种举措”,远离干眼
- 大国崛起(四)————英国
- java计算机毕业设计 - 大转盘抽奖微信小程序
- 亚马逊云科技软件开发工程师团队
- 交互设计人员什么阶段介入
- 总结:机器学习中的基本数学知识
- 快排优化Python表示
- 虚拟化arm服务器,arm服务器虚拟化(armvm虚拟化搭建手机)
- 漂亮的梦幻图,可用来做背景图(60张左右)
- GPU架构杂乱备忘——IMR、TBR、TBDR
- springboot+社区快递代取服务系统毕业设计-附源码051434
热门文章
- python open函数参数newline_Python open() 函数
- 两台邮件服务器共用一个公网地址,两个不同域邮件服务器的互通
- 修改html自带组件样式,能否直接在组件html上为组件根元素设置自定义class
- C语言数据类型 / 变量类型 - C语言零基础入门教程
- BugkuCTF-Reverse题mobile1(gctf)
- 华为麒麟1020鸿蒙系统,华为P50pro最新确认:麒麟1020+立体全面屏+鸿蒙系统,这才是华为...
- 项目的ar指什么_AR眼镜显示测评标准解读——概述
- linux看java堆大小,linux 改java堆内存大小
- 竞赛数据清洗缺失值_Kaggle 数据清洗挑战 Day 1 - 手把手教你五步处理缺失值
- linux redis-4.0,Linux Redis 4.0.2 安装部署