PettingZoo
tmrl
Our great sponsors
PettingZoo | tmrl | |
---|---|---|
19 | 11 | |
2,370 | 422 | |
4.1% | 10.0% | |
8.8 | 6.3 | |
6 days ago | 6 days ago | |
Python | Python | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
PettingZoo
- CartPole equivalent enviroments in MARL?
-
[P] PettingZoo 1.24.0 has been released (including Stable-Baselines3 tutorials)
Release notes: https://github.com/Farama-Foundation/PettingZoo/releases/tag/1.24.0
-
Shimmy 1.0: Gymnasium & PettingZoo bindings for popular external RL environments
To address this issue, we are excited to announce the release of Shimmy as a mature Farama Foundation project. Shimmy is an API compatibility tool for converting external RL environments to the Gymnasium and PettingZoo APIs. This allows users to access a wide range of single and multi-agent environments, all under a single standard API.
-
Petting Zoo Classic Environment
I am currently trying to implement my own version of a Connect Four Environment based on the version available on the PettingZoo Library github (https://github.com/Farama-Foundation/PettingZoo/blob/master/pettingzoo/classic/connect_four/connect_four.py).
-
Ideas for MARL project?
The Farama Foundation is always looking for contributors to PettingZoo, the largest open source MARL library out there (https://github.com/Farama-Foundation/PettingZoo, farama.org). If you might be interested in that you can message them in their discord server
-
Is Stable Baselines 3 no longer compatible with PettingZoo?
I am trying to implement a custom PettingZoo environment, and a shared policy with Stable Baselines 3. I am running into trouble with the action spaces not being compatible, since PettingZoo has started using gymnasium instead of gym. Does anyone know if these libraries no longer work together, and perhaps if there is a work-around?
-
New to reinforcement learning.
I'd say this is a great path but I'd also look at the basic on-policy gradient actor critic methods like A2C and eventually PPO. Someone recommended SAC which also really good. There are tons of environments in the https://github.com/Farama-Foundation/PettingZoo as well if you want to mess with those. You can also check out stable baselines https://github.com/DLR-RM/stable-baselines3 which is pretty popular. If you want to get into the theory more I recommend reading the Sutton and Barto book on reinforcement learning.
-
[Stable Baselines3] How do I train 3 model simultaneously?
Might want to check out petting zoo: https://github.com/Farama-Foundation/PettingZoo
-
Are there any other high-quality pre-built Python training environments other than Open AI's GYM?
Not that I know of, most I've seen are based on gym. I did see PettingZoo which is for multi-agent RL. https://github.com/Farama-Foundation/PettingZoo
-
Training with multiple agents.
Thank you for your comment. This is certainly helpful. I have since read more about this domain and turns out mathematically it is modeled using Markov/Stochastic game representations. I also found PettingZoo which can be used with RayLib for MARL problems.
tmrl
-
Problem with Truncated Quantile Critics (TQC) and n-step learning algorithm.
Hi all! I'm implementing a TQC with n-step learning in Trackmania (I forked original repo from here: https://github.com/trackmania-rl/tmrl, my modified version here: https://github.com/Pheoxis/AITrackmania/tree/main). It compiles, but I am pretty sure that I implemented n-step learning incorrectly, but as a beginner I don't know what I did wrong. Here's my code before implementing n-step algorithm: https://github.com/Pheoxis/AITrackmania/blob/main/tmrl/custom/custom_algorithms.py. If anyone checked what I did wrong, I would be very grateful. I will also attach some plots from my last training and outputs from printed lines (print.txt), maybe it will help :) If you need any additional information feel free to ask.
- Training an unbeatable AI in Trackmania [video]
- Can you beat trackmania AI?
-
Python RL Environments on Windows
I don't know if it fits your need : https://github.com/trackmania-rl/tmrl
-
New to reinforcement learning.
Hi, if you are gonna train a deep RL algorithm on a real robot and you are a beginner, I suggest you try out tmrl. This will allow you to try out a readily available algorithm (Soft Actor-Critic) in real-time on a real video-game (TrackMania), as real-world-like proxy for all the concerns you will encounter on real robot, and to rather easily develop your own robot-learning pipeline from there for your own robot. The repo has a huge tutorial exactly for this purpose.
-
AI Learns Mario Kart Wii (Rainbow DQN)
I see, and how did you handle the simulator and dynamics? Did you "step" the game or did you capture screenshots with constant time interval in real-time? I am asking because tmrl uses the second option in TrackMania, which makes the approach generalizable to all video games including MarioKart, but so far we met no such success training CNNs with the Soft Actor-Critic familly. The setting is a bit more difficult because it uses continuous input inckuding the gas and break (I suppose you always send gas to the maximum?) and we don't use punishments for collisions and this kind of tricks, but still, if it works that well in your setting I think it should work similarly in ours.
-
Have you used any good DRL library?
I am very disappointed these guys don't cite tmrl :D
-
osu!
If you just want to make a Gym environment, focus on rtgym. You will want to have a way of retrieving observations, say, raw images for instance. You can do this with pywin32 as done here. You will also want to grab a reward signal, which will probably be the most challenging thing to do because you will have to compute that from screenshots since you don't have access to the game internals (in fact you could because the game is opensource, but I assume you don't want to go down this path). If there is something like a score counter that's not moving somewhere, I suggest you capture that and read the numbers individually with the 1-NN algorithm (which is done in the un-supported "trackmania nation forever" versions of the tmrl encironment btw if you need help doing that). Then you will need to input controls. I see that osu is controller by the mouse and keyboard, there are several solutions for that. You can use pywin32 I think, pyautogui, keyboard, and probably others. Once you have these basic building blocks, it will be fairly straightforward to use the rtgym API in order to build you real time Gym environment.
-
Is replay buffer can remove "done"?
Sometimes it is more than okay, it may be necessary. For instance in tmrl we do exactly that, because we are in a partially observable environment where we cannot say whether the next state will be terminal or not, and where what we try to actually optimize is an infinite sum of discounted rewards.
-
[P] DeepForSpeed: A self driving car in Need For Speed Most Wanted with just a single ConvNet to play ( inspired by nvidia )
Cool project. Shameless self-advertising here but you can use vgamepad to control the game with a virtual gamepad instead of key presses, which enables analog policies. We do this in TrackMania :)
What are some alternatives?
open_spiel - OpenSpiel is a collection of environments and algorithms for research in general reinforcement learning and search/planning in games.
drqv2 - DrQ-v2: Improved Data-Augmented Reinforcement Learning
gym-macm - 2D, physics based gym environment for multi-agent combat & movement tasks
tm-dashboard - Dashboard for Trackmania displaying a bunch of vehicle information on screen.
SuperSuit - A collection of wrappers for Gymnasium and PettingZoo environments (being merged into gymnasium.wrappers and pettingzoo.wrappers
wandb - 🔥 A tool for visualizing and tracking your machine learning experiments. This repo contains the CLI and Python API.
stable-baselines3 - PyTorch version of Stable Baselines, reliable implementations of reinforcement learning algorithms.
softlearning - Softlearning is a reinforcement learning framework for training maximum entropy policies in continuous domains. Includes the official implementation of the Soft Actor-Critic algorithm.
gym - A toolkit for developing and comparing reinforcement learning algorithms.
acme - A library of reinforcement learning components and agents
Mava - 🦁 A research-friendly codebase for fast experimentation of multi-agent reinforcement learning in JAX
vgamepad - Virtual XBox360 and DualShock4 gamepads in python