spriteworld  by google-deepmind

Python-based RL environment for multi-object scenes

created 6 years ago
371 stars

Top 77.4% on sourcepulse

GitHubView on GitHub
Project Summary

Spriteworld is a Python-based reinforcement learning environment designed for procedurally generating multi-object 2D scenes with configurable sprites. It targets researchers and developers needing a flexible platform for tasks involving object discovery, manipulation, and visual dynamics, offering a simple interface for complex scene generation.

How It Works

Spriteworld renders 2D scenes with sprites that can vary continuously in shape, position, size, color, angle, and velocity. While it lacks built-in physics, interactions can be implemented via custom action spaces, such as an embodied agent that can carry other sprites. This approach allows for fine-grained control over scene complexity and agent-environment interaction, facilitating research into data-efficient model-based RL and disentangled representations.

Quick Start & Requirements

  • Install via pip: pip install spriteworld or pip install git+https://github.com/deepmind/spriteworld.git.
  • Prerequisites: numpy, six, absl, PIL, matplotlib, sklearn, dm_env.
  • Run demo: python /path/to/local/spriteworld/run_demo.py.
  • Official docs: https://github.com/deepmind/spriteworld/

Highlighted Details

  • Developed for the COBRA agent, focusing on data-efficient model-based RL.
  • Supports various action spaces, including discrete (embodied agent) and continuous (touch-screen).
  • Can be used for generating image datasets for disentangled representation learning.
  • Extensible for research in unsupervised learning of visual dynamics with simple physics.

Maintenance & Community

  • Developed by Google DeepMind.
  • This is not an officially supported Google product.

Licensing & Compatibility

  • License: Apache 2.0.
  • Compatible with commercial use and closed-source linking.

Limitations & Caveats

The environment is primarily focused on 2D sprite interactions and does not include complex physics simulations. Some tasks may require specific configurations or custom action spaces to achieve desired behaviors.

Health Check
Last commit

5 years ago

Responsiveness

Inactive

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

Explore Similar Projects

Feedback? Help us improve.