多代理增强列车学习
flatland-rl的Python项目详细描述
'
Flatland是一个开源工具包,用于开发和比较多代理强化学习算法,其规模很小(或者非常大!)网格世界。 基本环境是一个二维网格,其中可以放置许多代理,每个代理必须解决网格世界中的一个或多个导航任务。有关环境和问题语句的更多详细信息可以在official docs中找到。
这个图书馆是由SBB,AIcrowd和来自aicrowd社区的众多贡献者和aicrowd研究人员开发的。
这个库是专门为Flatland Challenge开发的,我们强烈鼓励您参与其中。
注意此文档最好在官方文档网站Flatland-RL Docs
内容
快速启动
$ conda create python=3.6 --name flatland-rl $ conda activate flatland-rl $ conda install -c conda-forge cairosvg pycairo $ conda install -c anaconda tk $ pip install flatland-rl
- 测试安装是否工作
$ flatland-demo
基本用法
平地挑战赛使用的Railenv环境的基本用途
importnumpyasnpimporttimefromflatland.envs.generatorsimportcomplex_rail_generatorfromflatland.envs.rail_envimportRailEnvfromflatland.utils.rendertoolsimportRenderToolNUMBER_OF_AGENTS=10env=RailEnv(width=20,height=20,rail_generator=complex_rail_generator(nr_start_goal=10,nr_extra=1,min_dist=8,max_dist=99999,seed=0),number_of_agents=NUMBER_OF_AGENTS)env_renderer=RenderTool(env)defmy_controller():""" You are supposed to write this controller """_action={}for_idxinrange(NUMBER_OF_AGENTS):_action[_idx]=np.random.randint(0,5)return_actionforstepinrange(100):_action=my_controller()obs,all_rewards,done,_=env.step(_action)print("Rewards: {}, [done={}]".format(all_rewards,done))env_renderer.render_env(show=True,frames=False,show_observations=False)time.sleep(0.3)
以及理想情况下您应该可以看到
中的内容祝你好运!!
贡献
Flatland是一个开源项目,我们非常重视您对该项目的所有贡献。 请按照Contribution Guidelines了解有关如何成功地为项目做出贡献的更多详细信息。我们热切期待您的贡献。
致谢
- 瓦伊巴夫阿格拉瓦尔theinfamouswayne@gmail.com>;
- 阿努拉格霍什