强化学习是一种机器学习范式,通常用于让机器自主进行决策和学习。以下是一些强化学习的应用:
✍强化学习框架 rlpyt 源码分析:(2) 掌管训练流程的runner类
✍强化学习框架 rlpyt 源码分析:(3) 相当简洁又十分巧妙的EpsilonGreedy类
✍强化学习框架 rlpyt 源码分析:(4) 收集训练数据的sampler类
✍强化学习框架 rlpyt 源码分析:(5) 提供额外参数的Mixin类
✍强化学习框架 rlpyt 源码分析:(6) 模型指标什么时候从 nan 变成有意义的值
✍强化学习框架 rlpyt 源码分析:(7) 模型参数是在哪更新的
✍强化学习框架 rlpyt 源码分析:(8) 基于CPU的并行采样器CpuSampler
✍强化学习框架 rlpyt 源码分析:(9) 基于CPU的并行采样器CpuSampler
✍强化学习框架 rlpyt 源码分析:(10) 基于CPU的并行采样器CpuSampler,worker的实现
✍强化学习框架 rlpyt:如何同时输出gaussian(高斯)和categorical(类别)的action
✍强化学习框架 rlpyt:如何保存训练过程中的所有model
✍强化学习框架 rlpyt:如何使用预训练(pre-trained)的model
✍强化学习的Atari环境下的frame skipping(跳帧)是指什么
✍强化学习框架 rlpyt 并行(parallelism)原理初探
✍强化学习框架 rlpyt 的 size mismatch 错误原因及解决办法
✍To be added...
文章来源:https://www.codelast.com/
➤➤ 版权声明 ➤➤
转载需注明出处:codelast.com
感谢关注我的微信公众号(微信扫一扫):
rlpyt確實有點復雜嘞。。。所以請問如果想換成非atari的環境到底該怎麼操作,可以出一篇例子嘛?非常感謝
非Atari环境是指其他的游戏环境,还是指非游戏的、自定义的、自己使用的业务场景的环境?
如果是前者,我没试过,没法给例子。
如果是后者,我有以下的步骤指南:
(1)从example_1.py开始,这个例子使用了DQN,而且它的action space是离散的。最开始我还复制了example_1.py,并修改了必要的部分,以符合我的要求。
(2) 你需要写自己的环境类GemHouEnv,它包含了特征提取的主要逻辑,和奖励函数,以及环境步进(在环境中前进),还有从环境中获取观测值的函数,以及重置环境的函数,这些你都可以参考atari_env.py来了解详情。
(3)你需要写一个自己的GemHouDqnAgent类,详情可以参考类AtariDqnAgent。
(4)你需要写自己的GemHouMixin类来定义传递给deep model的参数,详情可参考类AtariMixin。
(5)需要自己写GemHouDqnModel类来定义神经网络,它输入一个vector,输出一个vector,详情参考AtariDqnModel。
(6)至于GemHouDqnAgent中使用的DqnAgent类,完全不需要修改,和AtariDqnAgent一样。
我认为主要工作是集中在GemHouEnv上,你不需要写算法代码(rlpyt已经提供了),你需要做的就是把我上面提到的代码编写出来,然后把它们整合成一个整体。
另外,先从CPU的实现开始,因为GPU的实现似乎比较复杂,会引起更多的调试工作。