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

物流网站建设规划书seo经验

物流网站建设规划书,seo经验,对网站政务建设的建议,家具网站案例这一章通过各种各样的方式来加速强化学习的方法 为什么速度很重要 不理解的可以自己跑个模型感受一下出结果的速度,我就不解释了,就是真的很重要。。。。。但是我这一样只是简单的介绍一些方法,大家可以去看原文的具体的内容,我…

这一章通过各种各样的方式来加速强化学习的方法

为什么速度很重要

不理解的可以自己跑个模型感受一下出结果的速度,我就不解释了,就是真的很重要。。。。。但是我这一样只是简单的介绍一些方法,大家可以去看原文的具体的内容,我只是总结了最核心的内容

基线

RL的研究过程需要标明FPS的帧数,以及解决问题的时间,这个显而易见的结论
常见的写入到tensorboard的指标包括

  • reward 未经折扣的奖励,x轴是片段数
  • avg_reward,平均平滑处理
  • steps,一个片段的持续的步数(结束的快慢)
  • loss,损失值
  • avg_loss,平滑损失
  • epsilon,当前的epsilon值
  • avg_fps,平均交互速度,每秒观察数

计算图

我们其实只有使用net来推理q值的时候,才是我们真的需要进行梯度计算的时候,其他的时候的可以使用no_grad来关闭,例如我们目标网络的用于计算q值,或者我们的在推理的时候使用的net来得到的action都不用计算在我们的backforward的步骤里面
目标网络返回的张量需要显示的调用detach(),减少计算图的会大大大增加我们的运算的额速度

好的模型可能会带来50%的性能提升,简单来说,你需要找到真的需要加入梯度计算的计算,其他的都相关的计算需要通过no_grad封装

多个环境

我们学习ptan库的时候就知道,是可以一次传入多个env的,他们会同时和这些发生交互,也可以同时进行多个网络的action和Q值计算,这样我们可以成倍的进行效率,但是我一直有一个问题,如果在此之前我们的CPU或者GPU的利用率已经就满了,这个时候是否还有提升,其实我是不知道的

结果

我这边使用的情况,换成笔记本电脑了,虽然GPU更强,但是感觉学习的很不稳定,不知道为什么

Episode 400: reward=18.0, steps=1941, speed=310.005 frames/s, elapsed=0:49:23.529984
Episode 401: reward=17.0, steps=1908, speed=299.500 frames/s, elapsed=0:49:27.466517
Episode 402: reward=21.0, steps=1643, speed=298.408 frames/s, elapsed=0:49:31.346737
Episode 403: reward=19.0, steps=1865, speed=286.988 frames/s, elapsed=0:49:42.699667
Episode 404: reward=17.0, steps=1910, speed=301.807 frames/s, elapsed=0:49:47.053150
Episode 405: reward=18.0, steps=1798, speed=307.727 frames/s, elapsed=0:49:49.723819
Episode 406: reward=20.0, steps=1768, speed=300.904 frames/s, elapsed=0:50:00.252537
Episode 407: reward=20.0, steps=1749, speed=297.725 frames/s, elapsed=0:50:04.474587
Episode 408: reward=20.0, steps=1767, speed=290.332 frames/s, elapsed=0:50:07.491560
Episode 409: reward=19.0, steps=1843, speed=307.103 frames/s, elapsed=0:50:18.549662
Episode 410: reward=19.0, steps=1894, speed=309.355 frames/s, elapsed=0:50:23.107999
Episode 411: reward=20.0, steps=1767, speed=301.084 frames/s, elapsed=0:50:24.751620
Game solved in 0:50:24.751620, after 411 episodes and 289372 iterations!

不同的进程中分别交互和训练

这里简单的来说就是使用了一个消费者-生产者队列,将原本的串行 交互-获取-采样-学习的拆开了两个部分,一个专门用于生成动作,一直按照net的输出进行exp的获取,另一个专门用于处理学习到的经验,两个进程分别做exp的生产者和消费者

注意原文中的ExperienceSourceFirstLast的模型中,用到了一个pop_rewards_steps的函数,这个函数会在遇到了eposide结束时候返回一个奖励和步骤的list,如果没有则返回[]

cuda的版本使用的不是python自带的mp库,而是torch的torch.multiprocessing as mp,核心理由是这里会让张量在不同的进程之间共享

结果

原文中的学习的效果是不如直接使用envs=3的情况的,我这边的测试的结果也是一样。
但是其实我在想这里可以不可以同时有多个模型,同时多个envs而且同时使用多进程模型来进行交互。

调整包装器

这个具体的操作和前面学习到的包装器的内容差不多,这里不详细介绍了

CuLE

CUDA版本的Atari的环境,性能是原本的环境的几百倍,但是很不稳定,原文的代码demo写的非常简单,我搭建的环境的使用起来非常的复杂,我没有测试,但是如果以后有机会还是要搭建这个环境,可以几百倍的提升效率,毕竟。

http://www.dtcms.com/wzjs/89281.html

相关文章:

  • 手机网站建设规划书中国重大新闻
  • 网站的空间seo沈阳
  • 帮企网站建设代运营seo引擎搜索网站关键词
  • 如何做招聘网站效果分析400个成品短视频
  • 为什么两学一做进不去网站网站报价
  • wordpress lamp临沂seo公司
  • 有一个做场景动画的网站分析网站
  • 江西企业网站定制百度注册网站怎么弄
  • 设计网站名称网站建设服务公司
  • 南京网站建设价格中小企业网络推广
  • 建设信用中国网站西昌seo快速排名
  • 西安手机网站建设动力无限市场营销一般在哪上班
  • 南宁北京网站建设国内哪个搜索引擎最好用
  • 厦门快速建网站互联网服务平台
  • 网站开发语言和数据库网络营销工程师是做什么的
  • 服务 好的网站制作搜索引擎的工作原理是什么?
  • 搜狗推广手机客户端百度推广账户优化
  • 微信扫一扫登录网站如何做免费网站谁有靠谱的
  • 网站开发税费域名查询平台
  • 专门做冷门旅行的网站新闻最近的新闻
  • 如何网站备案软文营销的技巧
  • 网站运营做网页设计在线一键免费生成网页网站
  • 旅游网站经营模式餐饮营销引流都有什么方法
  • 深圳找个人做网站鸣蝉智能建站
  • 网页制作及网站设计昆山网站建设
  • 自己给公司做网站该怎么做b2b网站
  • 临夏市建设局网站买卖交易网
  • 河南周口东宇网站建设产品关键词
  • wordpress怎么修改语言seo排名优化公司哪家好
  • 17网站一起做网店 睡衣外贸营销网站怎么建站