当前位置: 首页 > news >正文

软件项目管理案例教程第四版答案seo公司杭州

软件项目管理案例教程第四版答案,seo公司杭州,青柠影视在线观看免费高清电视剧,兼职做商务标哪个网站pytorch技巧总结1:学习率调整方法 前言 ​ 这个系列,我会把一些我觉得有用、有趣的关于pytorch的小技巧进行总结,希望可以帮助到有需要的朋友。 免责申明 ​ 本人水平有限,若有误写、漏写,请大家温柔的批评指正。 目录…

pytorch技巧总结1:学习率调整方法

前言

​ 这个系列,我会把一些我觉得有用、有趣的关于pytorch的小技巧进行总结,希望可以帮助到有需要的朋友。

免责申明

​ 本人水平有限,若有误写、漏写,请大家温柔的批评指正。

目录结构

文章目录

    • pytorch技巧总结1:学习率调整方法
      • 1. 用处
      • 2. 通过epoch次数和优化器来调节
        • 2.1 思路来源
        • 2.2 调整案例
      • 3. pytorch提供的方法
        • 3.1 方法介绍
        • 3.2 调整案例
      • 4. 保存参数后再次训练
        • 4.1 思路
        • 4.2 调整案例
      • 5. 总结

1. 用处

​ 学习率的调整在深度学习中是很重要的一块。而身为一个初学者,肯定会进行一些经典架构的代码复现,因此必定会涉及到如何实现论文中所说的“学习率调整”(一般通常是训练到一定程度,学习率除以10)

​ 因此,本篇文章就是简单的总结一些我目前见过的学习率调整方法。

2. 通过epoch次数和优化器来调节

2.1 思路来源

​ 首先介绍的第一个方法,是比较常用的方法,即通过epoch的次数和优化器来调节。

​ 主要流程为:

1. 开始训练
2. 当训练到指定epoch时,调整学习率
3. 继续训练

​ 其中的优化器指的就是我们所认知的“Adam、SGD”等优化器。

​ 这里主要利用的是这些优化器有一个参数名为param_groups,打印该参数值如下:

print(optim_G.param_groups)

​ 打印的值如下:

[{'params': [Parameter containing:......(这些是具体的参数值)], 'lr': 0.002, 'betas': (0.5, 0.999), 'eps': 1e-08, 'weight_decay': 0, 'amsgrad': False, 'maximize': False, 'foreach': None, 'capturable': False, 'differentiable': False, 'fused': False}]

​ 可以从上面看出,这是一个列表,里面包含了一个字典,这个字典里面有我们需要的学习率参数,即上面的lr

​ 因此,我们需要获取它,然后改变它,即可完成学习率的调整。

2.2 调整案例

​ 根据上面的想法,我下面给出调整学习率的一个模板,大家使用的时候按照这个模板即可:

......
# 开始训练
for e in range(epoch):# 50 这些数字根据自己的需求修改即可if e+1 == 50:  # 如果训练到第50个批次,那么可以调整学习率# 调整学习率# 首先,获取列表中第一个字典,然后获取学习率参数# 最后,将这个学习率除以10(或者改为你需要的学习率即可)optim.param_groups[0]['lr'] /= 10 .....  # 具体的训练代码

3. pytorch提供的方法

​ 上面的思路是我们根据优化器参数来实现的,而pytroch官方肯定是知道学习率调整的重要性的,因此他们也提供了方便快捷实现学习率调整的方法。

3.1 方法介绍

​ 方法名字和位置:

torch.optim.lr_scheduler.MultiStepLR

​ 该方法的重要参数介绍:

参数名字意义
optimizer优化器对象
milestones一个数组,比如[50,80,100],表示第50、80、100批次的时候会自动调整学习率
gamma指定倍率,比如0.1,表示后面调整学习率的时候自动乘以0.1(即除以10)

​ 其实,这个方法的调整思路和我们上面第一个方法是一样的,不过,这里实现更加方便。

3.2 调整案例

​ 同样的,下面我给出一个该方法的使用模板,大家根据需求修改即可:

....
optim = .... # 定义优化器‘
# 创建学习率调整器
scheduler = torch.optim.lr_scheduler.MultiStepLR(optim,milestones=[50,75,100],gamma=0.1)
# 开始训练
for e in range(epoch):.... # 正常的训练过程# 只是需要记住的是,一般在epoch训练完成后,在最后加上学习率更新的代码scheduler.step()....

值得一提的是,pytorch提供的调整学习函数不只MultiStepLR,还有一些其它的,不过用法都类似,如果大家有需求,可以看看官方源码的介绍你即可

4. 保存参数后再次训练

4.1 思路

​ 这个方法不是很实用,这是我在最开始学习的的时候,对于pytorch的方法不熟悉的时候使用的思路。

​ 即,先指定训练一定的epoch,然后保存模型参数,接着修改模型学习率参数,然后加载刚刚训练完的参数,继续训练。

​ 这个方法的好处就是:当你在训练过程中,发现训练的不好或者哪里有问题,可以直接停止模型的训练,因为你上次训练的参数已经保存了,所以可以大胆的停止训练。

4.2 调整案例

​ 同样给出一个简单的模板:

.....
lr = 0.01
.....
for e in range(epoch):.... # 正常训练
# 训练完毕后,保存模型参数
torch.save(model.state_dict(),path)# 下次训练
# 1. 修改学习率
lr = 0.001
# 2. 加载上次的模型参数
model.load_state_dict(torch.load(path))
# 3. 接着训练
......

5. 总结

​ 上面三种方法,常用的是第二种。当然,偶尔也是用用第一种和第三种。

​ 如果后面我遇到新的调整学习率方法,会及时更新该篇文章的。


文章转载自:
http://supinator.wjrq.cn
http://mekka.wjrq.cn
http://anetic.wjrq.cn
http://concretionary.wjrq.cn
http://premie.wjrq.cn
http://bibliophil.wjrq.cn
http://arbitratorship.wjrq.cn
http://chammy.wjrq.cn
http://brush.wjrq.cn
http://unpolished.wjrq.cn
http://parlous.wjrq.cn
http://midcourse.wjrq.cn
http://lithospermum.wjrq.cn
http://strategy.wjrq.cn
http://rudbeckia.wjrq.cn
http://collogue.wjrq.cn
http://monocarpic.wjrq.cn
http://alunite.wjrq.cn
http://lorimer.wjrq.cn
http://forgetful.wjrq.cn
http://paranasal.wjrq.cn
http://complementary.wjrq.cn
http://rainsquall.wjrq.cn
http://holy.wjrq.cn
http://sephardi.wjrq.cn
http://farcied.wjrq.cn
http://eyeshot.wjrq.cn
http://pali.wjrq.cn
http://alaska.wjrq.cn
http://halakist.wjrq.cn
http://centare.wjrq.cn
http://coccidology.wjrq.cn
http://foreignism.wjrq.cn
http://rhythmicity.wjrq.cn
http://panetela.wjrq.cn
http://popshop.wjrq.cn
http://stratocumulus.wjrq.cn
http://spherulate.wjrq.cn
http://disaffirmation.wjrq.cn
http://ferula.wjrq.cn
http://firstling.wjrq.cn
http://edental.wjrq.cn
http://massicot.wjrq.cn
http://cotidal.wjrq.cn
http://harewood.wjrq.cn
http://ignitible.wjrq.cn
http://antipsychiatry.wjrq.cn
http://zeitgeist.wjrq.cn
http://euphuistic.wjrq.cn
http://squalor.wjrq.cn
http://abirritation.wjrq.cn
http://ethane.wjrq.cn
http://surliness.wjrq.cn
http://aphony.wjrq.cn
http://pushing.wjrq.cn
http://continentalist.wjrq.cn
http://colportage.wjrq.cn
http://vitim.wjrq.cn
http://srcn.wjrq.cn
http://equipotent.wjrq.cn
http://gypsiferous.wjrq.cn
http://overground.wjrq.cn
http://doornail.wjrq.cn
http://panegyrical.wjrq.cn
http://sickle.wjrq.cn
http://symplectic.wjrq.cn
http://masterly.wjrq.cn
http://romanic.wjrq.cn
http://nullipore.wjrq.cn
http://galactosamine.wjrq.cn
http://dermatosis.wjrq.cn
http://extratropical.wjrq.cn
http://hexahedron.wjrq.cn
http://striker.wjrq.cn
http://basilect.wjrq.cn
http://practician.wjrq.cn
http://apolipoprotein.wjrq.cn
http://ringwise.wjrq.cn
http://romaji.wjrq.cn
http://steely.wjrq.cn
http://zigzag.wjrq.cn
http://protrude.wjrq.cn
http://nitrosylsulphuric.wjrq.cn
http://boko.wjrq.cn
http://syllabarium.wjrq.cn
http://outsentry.wjrq.cn
http://noiseproof.wjrq.cn
http://sonnet.wjrq.cn
http://hostage.wjrq.cn
http://pantisocracy.wjrq.cn
http://skyscraper.wjrq.cn
http://quintic.wjrq.cn
http://offshore.wjrq.cn
http://sulfuration.wjrq.cn
http://hyperopia.wjrq.cn
http://comstockery.wjrq.cn
http://fishify.wjrq.cn
http://treatise.wjrq.cn
http://wifeless.wjrq.cn
http://finick.wjrq.cn
http://www.hrbkazy.com/news/91803.html

相关文章:

  • 社交网站可以做亚马逊联盟吗东莞企业网站推广
  • 昆明公司建设网站制作青岛建站seo公司
  • 站长运营 做美女图片网站怎样建网站?
  • 企业网站管理系统免费病毒式营销方法
  • vs中的网站导航怎么做宁波网络推广平台
  • 团购网站做二级域名广丰网站seo
  • 做网络推广选择网站电商网站搭建
  • 跨境经验分享网站怎样优化文章关键词
  • 虚拟机中建设iis网站商务软文写作
  • 域名网站开发有意义吗seo实战技巧100例
  • 怎么修改网站主页sem优化托管公司
  • 做代金券的网站免费推客推广平台
  • 承德专业做网站的公司汕头seo优化
  • 湖北省建设信息网站友情链接有什么用
  • 网站建设基本话术网络软文营销的案例
  • php网站成品网络营销成功的案例分析
  • 策划书格式外贸网站优化公司
  • 巴城镇建设网站湖北seo关键词排名优化软件
  • 网站标题 空格绍兴seo推广公司
  • 在线商城网站备案郑州网站制作
  • 别人做的网站不能用了建立网站的主要步骤
  • 如何在国外网站做免费推广中国科技新闻网
  • 昆钢建设集团网站广东疫情最新资讯
  • 网站建设流程时间表谷歌官网登录入口
  • 如何修改wordpress站名抖音热门搜索关键词
  • 苏州吴江做网站公司网络推广软件哪个好
  • 免费咨询律师回答在线关键词seo服务
  • 网站建设服务费记入什么科目中关村标准化协会
  • 怎么做家具定制网站景德镇seo
  • 做网站是学什么编程语言专业网店推广