在经过培训的环境中,如何在特定状态下评估策略?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在经过培训的环境中,如何在特定状态下评估策略?相关的知识,希望对你有一定的参考价值。
我已经在自定义环境中训练了Ray-RLlib PPOTrainer。如何评估特定状态下的政策?
完整示例:
from ray.rllib.agents.ppo import PPOTrainer
from cust_env.envs import CustEnv
from ray.tune.logger import pretty_print
ray.init()
config = ppo.DEFAULT_CONFIG.copy()
config["num_workers"] = 2
config["eager"] = False
config["output"] = 'tmp/debug/'
trainer = PPOTrainer(config=config, env=TravelEnv)
# Can optionally call trainer.restore(path) to load a checkpoint.
for i in range(101):
result = trainer.train()
if i % 10 == 0:
print(pretty_print(result))
是否有一种类似以下的方法,可以在给定状态下返回最佳动作?
policy = trainer.get_policy()
optimal_action_at_state_S = policy.get_optimal_action(S)
函数policy.compute_actions( )
似乎是从随机策略中返回随机样本,而不是最佳操作。
答案
据我通过Ray-dev Google小组联系过的Ray开发人员,目前唯一实现此目的的方法是使用自定义操作分布,其中方差设置为零。他确实指出,但是,很快将添加改进的界面。
以上是关于在经过培训的环境中,如何在特定状态下评估策略?的主要内容,如果未能解决你的问题,请参考以下文章
如何评估在 rllib (Ray) 中自定义环境中训练的演员?
typescript Angular 4的RouteReuse策略(经过测试)。这可用于记住特定组件的状态。例如 - 当某条路线是