如何在github上更改基线代码输出/重放(PPO)?

时间:2018-04-02 16:38:15

标签: python artificial-intelligence reinforcement-learning

我正在尝试在github上运行我自己的基线代码强化学习源代码:( https://github.com/openai/baselines/tree/master/baselines/ppo2)。

无论我做什么,我都会保持相同的显示效果:

enter image description here

我在哪里可以编辑它?我知道我应该编辑"学习"方法,但我不知道如何

1 个答案:

答案 0 :(得分:0)

这些打印是以下代码块的结果,可以在this link找到(至少在撰写本文时的最新版本):

if update % log_interval == 0 or update == 1:
    ev = explained_variance(values, returns)
    logger.logkv("serial_timesteps", update*nsteps)
    logger.logkv("nupdates", update)
    logger.logkv("total_timesteps", update*nbatch)
    logger.logkv("fps", fps)
    logger.logkv("explained_variance", float(ev))
    logger.logkv('eprewmean', safemean([epinfo['r'] for epinfo in epinfobuf]))
    logger.logkv('eplenmean', safemean([epinfo['l'] for epinfo in epinfobuf]))
    logger.logkv('time_elapsed', tnow - tfirststart)
    for (lossval, lossname) in zip(lossvals, model.loss_names):
        logger.logkv(lossname, lossval)
    logger.dumpkvs()

如果你的目标是在这里打印一些东西,但不同的东西(或不同格式的相同的东西),你唯一的选择就是修改这个源文件(或将你需要的代码复制到一个新文件中并申请如果代码的许可证允许,那么您的更改。

如果您的目标只是禁止这些消息,最简单的方法可能是在运行此learn()函数之前运行以下代码:

from baselines import logger
logger.set_level(logger.DISABLED)

使用this function禁用基线记录器。它也可能会禁用其他baselines相关的输出。