A reinforcement learning library for Go providing agents, composable tooling, and visualization for solving environment challenges.
Gold is a reinforcement learning library for Go that provides a collection of agents and tools for solving challenges in various environments. It implements algorithms like Q Learning, Deep Q Learning, and Proximal Policy Optimization, along with composable tooling for building custom agents and visualizing their performance. The library is designed to be simple to hack on and integrates with other Go-based ML projects.
Go developers and researchers interested in implementing and experimenting with reinforcement learning algorithms, particularly those who prefer working in Go's ecosystem.
Gold offers a straightforward, modular approach to reinforcement learning in Go, with multiple pre-built agents and visualization tools. Its composable design and integration with libraries like Sphere and Goro make it practical for both learning and prototyping RL solutions.
Reinforcement Learning in Go
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements key RL algorithms including Q Learning, Deep Q Learning, REINFORCE, NES, HER, and PPO, providing a broad range of options for different problems as listed in the agents table.
Offers modular tooling for building custom agents, allowing flexibility in agent design, as highlighted in the overview and philosophy sections.
Includes tools to visualize agent performance, aiding in training analysis and debugging, as mentioned in the key features and demonstrated with GIFs like cartpole_deepq.
Leverages Go-specific libraries like Sphere for environments and Goro for models, making it practical for Go developers, as noted in the contributing section.
Some algorithms, such as Proximal Policy Optimization, are still in progress, limiting immediate use for state-of-the-art methods, as indicated with a warning in the README.
Lacks built-in support for GPU acceleration, which can hinder performance on compute-intensive tasks, as accelerated compute support is only planned in the roadmap.
Requires Docker and a specific Go version (>= v13.0), adding dependencies and potential hurdles for quick experimentation, as stated in the requirements.