我试图通读OpenAi的Baselines of RL algorithms (https://github.com/openai/baselines)中的PPO1代码,以便更好地理解PPO是如何工作的,如何去实现它,等等。
我对输入到“optim_batchsize()”函数中的“learn”和"timesteps_per_actorbatch“参数之间的区别感到困惑。这些超参数是什么?
此外,我在"run_atari.py“文件中看到,"make_atari”和"wrap_deepmind“函数用于包装环境。在"make_atari“函数中,它使用了"EpisodicLifeEnv",一旦一个人失去了生命,它就会结束这一集。平均而言,我看到训练开始时的片段长度大约是7-8个时间步,但批量大小是256,所以我看不到任何更新可以发生。提前感谢您的帮助。
发布于 2018-08-01 04:04:32
我自己也经历过,因为well....their代码简直就是一场噩梦!optim_batchsize是用于优化策略的批处理大小,timesteps_per_actorbatch是优化前代理运行的时间步数。
关于插曲的事情,我不确定。这可能有两种方式,一种是等待256个条目填满后才实际更新,另一种是用虚拟数据填充批处理,实际上只更新了这一集持续的7或8个步骤。
https://stackoverflow.com/questions/49803199
复制相似问题