Mesa RL #2070
Replies: 3 comments 8 replies
-
Thanks for the write up. I agree with the wrapper approach. Most important for me would be a clean user-facing API to use it, together with solid documentation. |
Beta Was this translation helpful? Give feedback.
-
What are the alternatives to Petting Zoo, and why did you choose Petting Zoo over them? For context, we did an exhaustive compare/contrast for choosing the next gen framework used for Mesa frontend (Streamlit, Voila, panel, ipywidgets, Solara, gradio.app, ... #1622), and for choosing the way to speed up Mesa (Numba, Cython, Rust, ... #1610) |
Beta Was this translation helpful? Give feedback.
-
I have added an example implementation of converting a mesa environment into a petting zoo environment and using RLlib with it. What do you think about which of the two approaches makes more sense? Directly using Mesa with RL frameworks or converting it to environments like Petting Zoo. |
Beta Was this translation helpful? Give feedback.
-
Mesa provides a series of amazing multi-agent environments with various objectives. A natural use case of this is in Multi-Agent Reinforcement Learning. This year's GSoC project is on a similar idea - visit here. This thread is open to discuss how to go forward with this.
For getting started, I have implemented a few examples of MARL with Mesa using Stable Baselines and RLlib here. Other than the environments I think the visualization tools that mesa offers can really be helpful for RL tasks. Building on this learning, I propose wrappers around the existing Mesa Framework, allowing it to work directly with popular MARL libraries like RLlib. This approach avoids modifying existing Mesa implementations and makes it easier to develop and maintain. This concept aligns with my experience from the previous GSoC project, where I worked on similar functionalities. We could even include various trained model examples to give users a good starting point. Also, I've been exploring Petting Zoo, where they convert environments to RLlib-compatible formats using function calls. We can do a similar implementation for our case.
I'd love to hear everyone's feedback and thoughts on the project and idea!
Beta Was this translation helpful? Give feedback.
All reactions