Skip to content

Code for Powderworld: A Platform for Understanding Generalization via Rich Task Distributions

Notifications You must be signed in to change notification settings

kvfrans/powderworld

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Powderworld

Powderworld is a lightweight simulation environment for understanding AI generalization.

As the AI research community moves towards general agents, which can solve many tasks within an environment, it is crucial that we study environments with sufficient complexity. An ideal "foundation environment" should provide rich dynamics that stand in for real-world physics, while remaining fast to evaluate and reset.

To this end, we introduce Powderworld, a lightweight simulation environment for understanding AI generalization. Powderworld presents a 2D ruleset where elements (e.g. sand, water, fire) modularly react within local neighborhoods. Local interactions combine to form wide-scale emergent phenomena, allowing diverse tasks to be defined over the same core rules. Powderworld runs directly on the GPU, allowing up to 10,000 simulation steps per second, an order of magnitude faster than other RL environments like Atari or MineRL.

View the Project Website for more details.

powderworld_low.mp4

Installation:

pip install powderworld

# Or, to install locally
git clone https://github.com/kvfrans/powderworld/
cd powderworld
pip install -e .

Examples:

# Train an agent on the Sand-Pushing env:
python examples/powder_agent.py --savedir test --env_name sand

# Train an 8-step world model.
python examples/powder_worldmodel.py --savedir test

About

Code for Powderworld: A Platform for Understanding Generalization via Rich Task Distributions

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages