open_spiel
brax
Our great sponsors
open_spiel | brax | |
---|---|---|
44 | 11 | |
3,969 | 2,021 | |
1.4% | 3.0% | |
9.4 | 5.2 | |
3 days ago | 15 days ago | |
C++ | Jupyter Notebook | |
Apache License 2.0 | Apache License 2.0 |
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.
open_spiel
-
Competitive reinforcement learning for turn-based games
Hi, you can check out OpenSpiel: https://github.com/deepmind/open_spiel/
-
Shimmy 1.0: Gymnasium & PettingZoo bindings for popular external RL environments
This includes single-agent Gymnasium wrappers for DM Control, DM Lab, Behavior Suite, Arcade Learning Environment, OpenAI Gym V21 & V26. Multi-agent PettingZoo wrappers support DM Control Soccer, OpenSpiel and Melting Pot. For more information, read the release notes here:
-
Policy for each of multi-agents in RL
The RL agents in OpenSpiel (https://github.com/deepmind/open_spiel) are designed with this setting as the default (so like, DQN run in Tic-Tac-Toe would have two separate agents learning against each other: one knows how to play as player 1, the other as player 2).
-
My comp sci mentor who is a university student half my age says that learning to use Linux is the optimal comp sci education experience
I maintain a project called OpenSpiel, basically a library/suite of implementations of board games (mainly for AI research but can be used for whatever). It has a C/C++ core, but it also exposes the core API in Python, Rust, Go, and Julia: https://github.com/deepmind/open_spiel/ and a lot of AI algorithms in Python.
-
Looking to get started
If you are looking for some programming game-theoretic algorithms, you can look at Gambit (http://www.gambit-project.org/) or OpenSpiel (https://github.com/deepmind/open_spiel). OpenSpiel has a Julia API too exposing the core and games, but does not have any of the basic game theoretic algorithms in Julia, so that would make a nice exercise (and maybe contribution to the project).
-
[D] Adding a new RL environment to envpool
I looked at the paper before and thought some of the benchmarks in the paper were cherry picked and that the whole let’s write env in compiled languages things has been done a lot already and only works well for games / physics / environments that are extremely well defined . I usually end up back in ray env bc I usually need features like parametric action spaces, or predictive models built inside environments, or historical data. Codingwise I looked at the example file that they had and felt like it wasn’t for me bc I don’t like Bazel ( I use pants for python monorepo ) and the c++ api was overly verbose for me. I don’t feel like I could implement reward shaping or env business logic in a very clear way. I don’t do much c++ dev work though and someone who is a seasoned c++ dev might not care. I liked the openspiel c++ api for env a lot more. https://github.com/deepmind/open_spiel/blob/master/docs/developer_guide.md I have found that building a new env can sometimes be frustrating to debug and I would probably debug a python env before converting to an openspiel/envpool env if I had to use a C++ env for a new problem.
-
Mastering Stratego, the classic game of imperfect information
I 404'ed when I tried to access the source code?
https://github.com/deepmind/open_spiel/tree/master/open_%20s...
Someone needs to create a web front end for this -- I would love to play it.
There's an extra space in the URL to their code (at the end of the article). The correct URL is: https://github.com/deepmind/open_spiel/tree/master/open_spie...
-
Looking for Deepmind implementation of Player of Games
This is a wild guess. I am fairly sure that internally Deepmind uses their own tool, OpenSpiel. The code is kind of dense because it does a lot, but probably most of the functionality that you are looking for is somewhere in there
brax
-
Brax vs TDS for differentiable rigid body dynamics
I need differentiable rigid body dynamics because I want to do nonlinear MPC. One library that can do this is C++ is Tiny Differentiable Simulator https://github.com/erwincoumans/tiny-differentiable-simulator. As I understand it, this software uses a C++ auto-diff library and code generation to create CUDA kernels to compute fast derivatives in parallel. This seems pretty fast because it's C++. Another option is Brax https://github.com/google/brax. Brax uses JAX which I've never used, but from what I've seen online, JAX is popular for researchers and probably very good.
-
Deep learning for robotics
I am doing a MSc on robotics with a focus on machine learning, especially attention based architectures. There is a lot simulation and reinforcement learning going on. I have a funding of ~2500$ for the hardware system (no flexibility here, cannot use it for cloud either). I used pcpartpicker.com to select compatible components, as shown below. I am not located in the western part of the world; which means I have difficulty accessing some components and prices are higher here than that of pcpartpicker.com. That is why I am aiming towards 2000 - 2200$ range in the pcpartpicker.com. - Overall, what do you think of my planned setup? - Since there is a lot of simulation planned including rigid body dynamics with contact (libraries like https://github.com/raisimTech/raisimLib, https://github.com/deepmind/mujoco), I need some powerful CPU to use these libraries. I know that Intel has MKL over AMD; however, I am not sure how relevant that is for my case. The robotics simulators are generally written with C++, uses Eigen or their own math libraries. I feel like there is a lot of linear algebra involved and Intel combined with MKL should give me less headache. I have chosen i9-12900K, but what about AMD Ryzen9 5950X for example? - There is a new generation of rigid body simulators which use GPU instead of CPU (https://github.com/google/brax, https://developer.nvidia.com/isaac-gym). I do not think they are as mature as the previously mentioned simulators. Perhaps I am mistaken. Shall I focus on them instead? In terms of hardware that means I can downgrade the CPU to Ryzen5, and upgrade to RTX3080, roughly. - Do you think this system is easy to upgrade in future? What can I change to make it easier for long-term use and upgrades? Thanks for any help!
-
[D] Advice on Hardware Setup for Robotics
There is a new generation of rigid body simulators which use GPU instead of CPU (https://github.com/google/brax, https://developer.nvidia.com/isaac-gym). I do not think they are as mature as the previously mentioned simulators. Perhaps I am mistaken. Shall I focus on them instead? In terms of hardware that means I can downgrade the CPU to Ryzen5, and upgrade to RTX3080, roughly.
-
DeepMind open-sourcing MuJoCo simulator
I wonder what this means for the future of Brax [1].
-
Any tutorial on how to create RL C++ environments?
If you want raw speed, parallel execution on GPU or TPU is best. Checkout out our Brax simulator, which uses the XLA compiler and JAX Python frontend: https://github.com/google/brax
-
[N] Mujoco is free for everyone until October 31 2021
Anyone made any progress with Brax? That was sold as a massively-parallel Mujoco alternative but not sure if anyone's actually using it yet.
- [R] Brax: A Differentiable Physics Engine for Large Scale Rigid Body Simulation, with a focus on performance and parallelism on accelerators, written in JAX.
What are some alternatives?
mujoco - Multi-Joint dynamics with Contact. A general purpose physics simulator.
pybullet-gym - Open-source implementations of OpenAI Gym MuJoCo environments for use with the OpenAI Gym Reinforcement Learning Research Platform.
muzero-general - MuZero
PettingZoo - An API standard for multi-agent reinforcement learning environments, with popular reference environments and related utilities
gym - A toolkit for developing and comparing reinforcement learning algorithms.
tiny-differentiable-simulator - Tiny Differentiable Simulator is a header-only C++ and CUDA physics library for reinforcement learning and robotics with zero dependencies.
rlcard - Reinforcement Learning / AI Bots in Card (Poker) Games - Blackjack, Leduc, Texas, DouDizhu, Mahjong, UNO.
jax - Composable transformations of Python+NumPy programs: differentiate, vectorize, JIT to GPU/TPU, and more
gym-battleship - Battleship environment for reinforcement learning tasks
TexasHoldemSolverJava - A Java implemented Texas holdem and short deck Solver
RustyNEAT - Rust implementation of NEAT algorithm (HyperNEAT + ES-HyperNEAT + NoveltySearch + CTRNN + L-systems)
tensortrade - An open source reinforcement learning framework for training, evaluating, and deploying robust trading agents.