0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

用PyTorch实现了基本的RL算法

DPVg_AI_era 来源:lq 2019-06-07 15:36 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

今天和大家分享Reddit上的一个热帖,楼主用PyTorch实现了基本的RL算法,而且每个算法都在一个文件夹中完成,即使没有GPU,每个算法也可以在30秒内完成训练。

近日,有开发人员用PyTorch实现了基本的RL算法,比如REINFORCE, vanilla actor-critic, DDPG, A3C, DQN 和PPO。这个帖子在Reddit论坛上获得了195个赞并引发了热议,一起来看一下吧。

特点如下:

每个算法都在一个文件中完成。

每个算法的长度可达100~150行代码。

即使没有GPU,每个算法也可以在30秒内完成训练。

Envs固定在“CartPole-v1”上,你只需关注执行。

minimalRL-pytorch算法:

1. REINFORCE(66行)

2. TD Actor-Critic(97行)

3. DQN(113行,包括重放内存和目标网络)

4. PPO(116行,包括GAE)

5. DDPG(149行,包括OU噪声和软目标更新)

6. A3C(116行)

7. 有什么建议吗?

依赖配置:

1. PyTorch

2. OpenAI GYM

使用:

# Works only with Python 3.#e.g.python3REINFORCE.pypython3actor_critic.pypython3dqn.pypython3ppo.pypython3ddpg.pypython3 a3c.py

评论中,不少朋友表示了对楼主的认可和感谢:

Dump7留言:“可以!这是我见过的最美的东西之一。我不是一个能用框架编写NN的人。但我正在努力。这将在很大程度上帮助到我。谢谢你做了这个。但是你能为基本的CNN和RNN制作这样的单一文件代码吗?”

CodeReclaimers表示:“谢谢你分享这个——我知道把代码简化到最少是很费事的。特别好的是,你的代码将依赖配置控制在最低限度。通常都是,我去寻找可以学习的例子,要花至少30多分钟来收集所有依赖配置,结果发现我的平台上少了一些关键的东西。”

Reddit上的讨论:

https://www.reddit.com/r/MachineLearning/comments/bt8sap/p_implementations_of_basic_rl_algorithms_with/

Github资源:

https://github.com/seungeunrho/minimalRL

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 算法
    +关注

    关注

    23

    文章

    4760

    浏览量

    97136
  • 代码
    +关注

    关注

    30

    文章

    4941

    浏览量

    73130
  • pytorch
    +关注

    关注

    2

    文章

    813

    浏览量

    14691

原文标题:6行代码搞定基本的RL算法,速度围观Reddit高赞帖

文章出处:【微信号:AI_era,微信公众号:新智元】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    SM4算法实现分享(一)算法原理

    ,Xi、Yi、rki为字,i=0,1,2,…,31。则本算法的加密实现为: 本算法的解密实现与加密实现结构是相同的,不同的只是提供的轮
    发表于 10-30 08:10

    复杂的软件算法硬件IP核的实现

    具体方法与步骤 通过 C 语言实现软件算法,并验证算法的有效性以后,就可以进行算法的 HDL 转化工作了。通过使用 Altium Des
    发表于 10-30 07:02

    查找表与多项式近似算法实现初等函数

    逼近的定义区间长度及选取系数的方式决定。 每个子间隔的系数存储在查找表中。Xm来选择系数,所以方程变成: 使用查找表与多项式近似结合算法实现对数函数,如下图所示为指数函数的流水线结构: 下图为仿真结果:
    发表于 10-28 08:10

    基于FPGA实现FOC算法之PWM模块设计

    哈喽,大家好,从今天开始正式带领大家从零到一,在FPGA平台上实现FOC算法,整个算法的框架如下图所示,如果大家对算法的原理不是特别清楚的话,可以先去百度上学习一下,本教程着重介绍
    的头像 发表于 07-17 15:21 3120次阅读
    基于FPGA<b class='flag-5'>实现</b>FOC<b class='flag-5'>算法</b>之PWM模块设计

    基于Matlab与FPGA的双边滤波算法实现

    前面发过中值、均值、高斯滤波的文章,这些只考虑位置,并没有考虑相似度。那么双边滤波来了,既考虑位置,有考虑相似度,对边缘的保持比前几个好很多,当然实现上也是复杂很多。本文将从原理
    的头像 发表于 07-10 11:28 4075次阅读
    基于Matlab与FPGA的双边滤波<b class='flag-5'>算法</b><b class='flag-5'>实现</b>

    基于FPGA的压缩算法加速实现

    本设计中,计划实现对文件的压缩及解压,同时优化压缩中所涉及的信号处理和计算密集型功能,实现对其的加速处理。本设计的最终目标是证明在充分并行化的硬件体系结构 FPGA 上实现算法时,可
    的头像 发表于 07-10 11:09 2074次阅读
    基于FPGA的压缩<b class='flag-5'>算法</b>加速<b class='flag-5'>实现</b>

    FT232RL USB 转串口工业级替代方案DT232RL公司产品竞争力直线提升

    DT232RL的成本与技术双突破 摘要 面对进口FT232RL芯片的高成本与供货风险,本文验证国产DT232RL方案的工业级替代可行性。实测表明,该方案较国内同类产品单一个串口芯片成
    的头像 发表于 07-03 17:00 547次阅读

    如何在VS Code中使用瑞萨RL78系列MCU

    RL78家族系列MCU,以其业界领先的低功耗和各种内置的高性能外围功能,极大地提高了电源效率,降低了BOM成本,实现设备的小型化。
    的头像 发表于 04-23 13:49 3841次阅读
    如何在VS Code中使用瑞萨<b class='flag-5'>RL</b>78系列MCU

    18个常用的强化学习算法整理:从基础方法到高级模型的理论技术与代码实现

    易于理解和实践,全部代码均在JupyterNotebook环境中实现,仅依赖基础库进行算法构建。代码库组织结构如下:├──1_simple_rl.ipynb├──
    的头像 发表于 04-23 13:22 1297次阅读
    18个常用的强化学习<b class='flag-5'>算法</b>整理:从基础方法到高级模型的理论技术与代码<b class='flag-5'>实现</b>

    限时免积分下载:增量式与位置式PID算法的C语言实现分享

    前面咱们有分享对PID算法离散化和增量式PID算法原理进行来探索,之后又使用Matlab进行了仿真实验,对PID三个参数又有更深入的认识,接下来我们来使用C语言进行PID算法
    发表于 03-05 18:32

    FOC 算法实现永磁同步电机调整指南

    本文档介绍使用 FOC 算法实现永磁同步电机 (Permanent Magnet SynchronousMotor,PMSM)调整所需的步骤和设置,该算法如 AN1078《PMSM
    发表于 03-03 01:53

    PID控制算法的C语言实现:PID算法原理

    在工业应用中 PID 及其衍生算法是应用最广泛的算法之一,是当之无愧的万能算法,如果能够熟练掌握 PID 算法的设计与实现过程,对于一般的研
    发表于 02-26 15:24

    操作指南:pytorch云服务器怎么设置?

    设置PyTorch云服务器需选择云平台,创建合适的GPU实例,安装操作系统、Python及Anaconda,创建虚拟环境,根据CUDA版本安装PyTorch,配置环境变量,最后验证安装。过程中需考虑
    的头像 发表于 02-08 10:33 605次阅读

    利用Arm Kleidi技术实现PyTorch优化

    PyTorch 是一个广泛应用的开源机器学习 (ML) 库。近年来,Arm 与合作伙伴通力协作,持续改进 PyTorch 的推理性能。本文将详细介绍如何利用 Arm Kleidi 技术提升 Arm
    的头像 发表于 12-23 09:19 1617次阅读
    利用Arm Kleidi技术<b class='flag-5'>实现</b><b class='flag-5'>PyTorch</b>优化

    vLLM项目加入PyTorch生态系统,引领LLM推理新纪元

    近日,vLLM项目宣布正式成为PyTorch生态系统的一部分,标志着该项目与PyTorch的合作进入了一个全新的阶段。本文将从以下几个方面进行介绍,特别提醒:安装方案在第四个部分,可选择性阅读
    的头像 发表于 12-18 17:06 1568次阅读
    vLLM项目加入<b class='flag-5'>PyTorch</b>生态系统,引领LLM推理新纪元