如何复制健身房环境?

信息:我正在使用 OpenAI Gym 创建 RL 环境,但需要环境的多个副本来完成我正在做的事情。我不想做任何事情,比如[gym.make(...) for i in range(2)]创造一个新的环境。


问题:给定一个健身房环境,复制它以便拥有 2 个重复但断开连接的环境的最佳方法是什么?


这是一个例子:


import gym


env = gym.make("CartPole-v0")

new_env = # NEED COPY OF ENV HERE


env.reset() # Should not alter new_env


幕布斯7119047
浏览 1619回答 2
2回答

绝地无双

回答是:import copy  env_2 = copy.deepcopy(env)

慕的地8271018

您可以使用copy.deepcopy()复制当前环境:import gymimport copyenv = gym.make("CartPole-v0")env.reset()env_2 = copy.deepcopy(env)env.step() # Stepping through `env` will not alter `env_2`但请注意,如果自定义环境包含无法深度复制的内容(例如生成器),则此解决方案可能无法工作。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python