文章目录

  • 固定部分层参数
  • 固定指定层的参数
  • 不同层设置不同的学习率

固定部分层参数

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:固定部分层参数,固定单个模型相关推荐

  1. pytorch中的pre-train函数模型引用及修改(增减网络层,修改某层参数等)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/whut_ldz/article/det ...

  2. pytorch 之 冻结某层参数,即训练时不更新

    首先,我们知道,深度学习网络中的参数是通过计算梯度,在反向传播进行更新的,从而能得到一个优秀的参数,但是有的时候,我们想固定其中的某些层的参数不参与反向传播.比如说,进行微调时,我们想固定已经加载预训 ...

  3. pytorch——冻结某层参数

    参考链接: https://blog.csdn.net/qq_41368074/article/details/107860126 https://blog.csdn.net/Code_Mart/ar ...

  4. 神经网络冻结层,固定参数

    结论: requires_grad_(False)只会将当前层的参数固定,对梯度往前传播不造成影响,从结果上看除了第二层的grad为None,与不固定参数来比其他层grad是相同的.detach_() ...

  5. [Pytorch系列-41]:卷积神经网络 - 模型参数的恢复/加载 - 搭建LeNet-5网络与MNIST数据集手写数字识别

    作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文网址:https://blog.csdn.net/HiWangWenBing/article/detai ...

  6. Pytorch统计网络参数计算工具、模型 FLOPs, MACs, MAdds 关系

    Pytorch统计网络参数 #网络参数数量 def get_parameter_number(net):total_num = sum(p.numel() for p in net.parameter ...

  7. Pytorch 学习(6):Pytorch中的torch.nn Convolution Layers 卷积层参数初始化

    Pytorch 学习(6):Pytorch中的torch.nn  Convolution Layers  卷积层参数初始化 class Conv1d(_ConvNd):......def __init ...

  8. PyTorch中CNN网络参数计算和模型文件大小预估

    前言 在深度学习CNN构建过程中,网络的参数量是一个需要考虑的问题.太深的网络或是太大的卷积核.太多的特征图通道数都会导致网络参数量上升.写出的模型文件也会很大.所以提前计算网络参数和预估模型文件大小 ...

  9. pytorch---之BN层参数详解及应用(1,2,3)(1,2)?

    BN层参数详解(1,2) 一般来说pytorch中的模型都是继承nn.Module类的,都有一个属性trainning指定是否是训练状态,训练状态与否将会影响到某些层的参数是否是固定的,比如BN层(对 ...

最新文章

  1. 程序员如何用Java排序
  2. 上下班同行有利于婚姻美满?
  3. 【乐畅】工作积累 ---- 调节音量大小 (滑动条调节音量大小并保存起来 )
  4. 如何在 Asp.Net Core 中对请求进行限流
  5. linux 为什么要安装gcc和gcc-c++(又叫做g++)
  6. linux绑定team网卡,linux 实现双网卡绑定单个IP——team篇
  7. 徐工施维英:基于帆软搭建数字化驾驶舱,提高生产效率50%
  8. 特斯拉:感谢A股股民!
  9. 《深入J2SDK》 总结
  10. 使有用计算机不注意卫生,“十种举措”,远离干眼
  11. 大国崛起(四)————英国
  12. java计算机毕业设计 - 大转盘抽奖微信小程序
  13. 亚马逊云科技软件开发工程师团队
  14. 交互设计人员什么阶段介入
  15. 总结:机器学习中的基本数学知识
  16. 快排优化Python表示
  17. 虚拟化arm服务器,arm服务器虚拟化(armvm虚拟化搭建手机)
  18. 漂亮的梦幻图,可用来做背景图(60张左右)
  19. GPU架构杂乱备忘——IMR、TBR、TBDR
  20. springboot+社区快递代取服务系统毕业设计-附源码051434

热门文章

  1. python open函数参数newline_Python open() 函数
  2. 两台邮件服务器共用一个公网地址,两个不同域邮件服务器的互通
  3. 修改html自带组件样式,能否直接在组件html上为组件根元素设置自定义class
  4. C语言数据类型 / 变量类型 - C语言零基础入门教程
  5. BugkuCTF-Reverse题mobile1(gctf)
  6. 华为麒麟1020鸿蒙系统,华为P50pro最新确认:麒麟1020+立体全面屏+鸿蒙系统,这才是华为...
  7. 项目的ar指什么_AR眼镜显示测评标准解读——概述
  8. linux看java堆大小,linux 改java堆内存大小
  9. 竞赛数据清洗缺失值_Kaggle 数据清洗挑战 Day 1 - 手把手教你五步处理缺失值
  10. linux redis-4.0,Linux Redis 4.0.2 安装部署