由于要比较两种RL方法,因此我正在使用多个种子来初始化OpenAI
体育馆环境。但是,我忘记了与每种环境相对应的确切种子。除了使用相同的种子再次训练并比较训练曲线之外,还有什么方法可以恢复这些种子?
我检查了source个环境。在这里,可以找到方法seed
的代码,该方法通过从文件np_random
调用另一种方法(gym.utils/seeding
)来初始化种子。
我也检查了this code,发现在这两个步骤中都没有存储种子。因此,似乎一旦将其初始化,便会永远被遗忘。
同样,由于我已经存储了训练曲线,因此我可以与新曲线进行比较以确定种子是否相同。但是,我想知道是否有更直接的方法来做到这一点。
这些是我用来设置环境的行:
class System:
def __init__(self, memory_capacity = 200000, env_steps=1, grad_steps=1, init_steps=1000, reward_scale = 25,
temperature=1.0, soft_lr=5e-3, batch_size=3000, hard_start = False, original_state=True, n_seed=0, system='Hopper-v2'):
self.env = gym.make(system).unwrapped
self.env.reset()
self.env.seed(n_seed)