我想在训练期间使用经过训练的策略进行一些基准比较,每隔几次训练迭代。为此,我想使用给env
定的种子创建一个给定的实例,然后使用每个基准测试以及射线运行一个情节。总之,伪代码如下所示:
for i in range(n):
s = env.reset(seed_number=n)
while True:
a = alg.agent.get_action(s)
ns, r, d, _ = env.step(a)
save_state(s,a,r,d)
if d:
break
其中alg
在[ray, random, heuristic1, heuristic2]
。我的问题是如何为此目的使用调用当前策略?我假设agent.compute_action(s)
这样做。如果是这样,问题将是它如何处理随机性?例如,如果算法是 DQN,它使用epsilon=0
? 它在策略梯度基础算法中如何工作A2C
?