tonic  by fabiopardo

RL library for fast prototyping and benchmarking

created 5 years ago
415 stars

Top 71.7% on sourcepulse

GitHubView on GitHub
Project Summary

Tonic is a modular and readable Reinforcement Learning (RL) library designed for fast prototyping and fair benchmarking of RL agents. It targets researchers and practitioners in RL, offering a unified training pipeline and compatibility with popular environments and ML frameworks. The library aims to simplify the creation, comparison, and visualization of RL agents.

How It Works

Tonic's core design emphasizes modularity, allowing users to build RL agents from configurable components like models, replays, and exploration strategies. It enforces a consistent API across agents and environments, facilitating direct comparison. A key advantage is its unified training pipeline that incorporates shared "tricks" like non-terminal timeouts and observation normalization, ensuring fair benchmarking across different agents and environments.

Quick Start & Requirements

  • Install from source: pip install -e tonic/
  • Requires TensorFlow 2 or PyTorch.
  • Supports OpenAI Gym, PyBullet, and DeepMind Control Suite environments.
  • See official quick-start for detailed instructions.

Highlighted Details

  • Benchmarked on 70 continuous control environments with provided data.
  • Supports TensorFlow 2 and PyTorch via tonic.tensorflow and tonic.torch.
  • Enables console-based experimentation with Python code snippets for configuration.
  • Allows visualization and playback of trained agents.

Maintenance & Community

  • The primary author is Fabio Pardo.
  • Benchmark data and trained models are available in the separate tonic_data repository.
  • Citing paper: Pardo, Fabio. "Tonic: A Deep Reinforcement Learning Library for Fast Prototyping and Benchmarking." arXiv preprint arXiv:2011.07537 (2020).

Licensing & Compatibility

  • The README does not explicitly state a license. Compatibility for commercial use or closed-source linking is not specified.

Limitations & Caveats

The library's license is not clearly stated in the README, which may impact commercial adoption. The project's activity and community support are not detailed, potentially indicating a lower bus factor or limited ongoing development.

Health Check
Last commit

1 year ago

Responsiveness

1+ week

Pull Requests (30d)
0
Issues (30d)
0
Star History
9 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.