Rllib文档提供了一些关于如何create and train a custom environment的信息。有一些关于注册该环境的信息,但我想它需要与gym registration不同的工作方式。你知道吗
我正在用SimpleCorridor环境测试这一点。如果我像这样将注册码添加到文件中:
from ray.tune.registry import register_env
class SimpleCorridor(gym.Env):
...
def env_creator(env_config):
return SimpleCorridor(env_config)
register_env("corridor", env_creator)
然后我就可以使用字符串名称训练算法了没问题:
if __name__ == "__main__":
ray.init()
tune.run(
"PPO",
stop={
"timesteps_total": 10000,
},
config={
"env": "corridor", # <--- This works fine!
"env_config": {
"corridor_length": 5,
},
},
)
但是
在定义环境的同一个文件中注册环境是没有意义的,因为您可以只使用类。OpenAI健身房注册很好,因为如果你安装了这个环境,那么你可以在任何地方使用它,只需编写
include gym_corridor
我不清楚是否有一种方法可以为rllib注册环境。有办法吗?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐