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

我正在尝试运行我在GitHub上找到的强化学习基线代码的自定义版本:(https://github.com/openai/baselines/tree/master/baselines/ppo2)。

无论我做什么,我总是得到相同的显示,显示如下:

enter image description here

我应该在哪里编辑它?我知道应该编辑“learn”方法,但我不知道怎么做


回答:

这些打印输出是以下代码块的结果,可以在这个链接找到(至少在撰写本文时的最新修订版):

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 loggerlogger.set_level(logger.DISABLED)

这是使用这个函数来禁用基线记录器的。不过,这也可能会禁用其他baselines相关的输出。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注